Primitivas
VyGLab – Lab. de Investigación y Desarrollo en Visualización y Computación Gráfica Dpto. de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur
Primitivas
Las primitivas gráficas pueden clasificarse en primitivas
– De Salida – De Entrada
Silvia Castro
CG 2012
1
Primitivas de Salida
Los objetos gráficos que se generan sobre losdispositivos de salida están compuestos de primitivas de salida. Una clasificación de éstas puede ser la siguiente
– Punto – Polilínea – Región rellena – Texto – Imagen rasterizada
Estas primitivas gráficas tienen atributos características que afectan su apariencia.
Silvia Castro
que
son
las
CG 2012
Primitivas de Salida
Un atributo (o parámetro de atributo) es cualquier parámetro queafecta la forma en que una primitiva es mostrada.
Los atributos pueden • Incorporarse como parámetros a las primitivas • Setearse separadamente
Silvia Castro
CG 2012
2
Primitivas de Salida
Punto El punto es la primitiva básica de salida más simple. Se especifica mediante sus coordenadas. P d ifi di t d d Podemos dib j un dibujar punto:
DibujarPunto(GLint x, GLint y)glBegin(GL_POINTS); glVertex2i(x, y); glEnd();
Los distintos atributos que puede tener un punto son su color y su tamaño. ¿Cómo se especifican éstos en OpenGL?
Silvia Castro CG 2012
Primitivas de Salida
Polilínea La polilínea es una secuencia de líneas rectas conectadas.
Las imágenes hechas de polilíneas a menudo se denominan dibujos de líneas.
Silvia Castro CG 2012
3
Primitivas de SalidaPolilínea La polilínea más simple es un segmento de recta y se especifica mediante dos puntos, el inicial y el f final.
x1 , y1
x0 , y0
Cuando está compuesta de varias líneas, cada una de éstas se p , denomina segmento; dos segmentos adyacentes se unen en un vértice. Las polilíneas se especifican mediante una secuencia de vértices. Vea cómo se puede dibujar una polilínea utilizando OpenGL.Silvia Castro CG 2012
Primitivas de Salida
Los atributos básicos de los segmentos de línea son • Tipo •A h Ancho • Color
Silvia Castro
CG 2012
4
Primitivas de Salida
Atributo Ancho
Generación de líneas anchas
Opciones d lá i o pincel O i de lápiz i l Patrones de lápiz y pincel para mostrar líneas
Silvia Castro
CG 2012
Primitivas de Salida
Opciones de lápiz o pincelMáscara de pixels y el arreglo de pixels asociado
Generación de la línea con la máscara de pixels
Líneas curvas distintos pinceles
Silvia Castro
con
CG 2012
5
Primitivas de Salida
Atributo Tipo
glEnable(GL_LINE_STIPPLE); // Línea con tres estilos diferentes alt=125.0; g glLineStipple(1, 0x0101); pp ( , ); DibujarLinea(50.0,alt, 150.0,alt); glLineStipple(1, 0x00FF);DibujarLinea(150.0,alt, 250.0,alt); glLineStipple(1, 0x1C47); DibujarLinea(250.0,alt, 350.0,alt);
Silvia Castro
CG 2012
Primitivas de Salida
Atributo Ancho
// Segunda línea con tres estilos y anchos diferentes glLineWidth(8.0); glLineStipple(1, 0x0101); DibujarLinea(50.0,alt, 150.0,alt); glLineWidth(1.5); glLineWidth(1 5); glLineStipple(1, 0x00FF); DibujarLinea(150.0,alt, 250.0,alt);glLineWidth(4.0); glLineStipple(1, 0x1C47); DibujarLinea(250.0,alt, 350.0,alt);
Silvia Castro
CG 2012
6
Primitivas de Salida
Atributo Color
// Cuarta línea con tres colores diferentes glLineWidth(2.0); glLineStipple(1, 0x00FF); glColor3f(1.0,0.0,0.0); DibujarLinea(50.0,alt, 150.0,alt); glColor3f(0.0,1.0,0.0); DibujarLinea(150.0,alt, 250.0,alt); glColor3f(0.0,0.0,1.0);DibujarLinea(250.0,alt, 350.0,alt);
Silvia Castro
CG 2012
Primitivas de Salida
Algunas primitivas geométricas de OpenGL
¿Cómo escribiría el segmento de código correspondiente a DibujarLínea?
DibujarLinea(GLint xi, GLint yi, GLint xf, GLint yf) glBegin(GL_LINES); glVertex2i(xi, yi); glVertex2i(xf, yf); glEnd();
Silvia Castro CG 2012
7
Primitivas de Salida
Polilínea Una polilínea puede...
Regístrate para leer el documento completo.