Primitivas de graficacion
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
VyGLab – DCIC - UNS
CG 2010
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.
VyGLab – DCIC - UNS
que
son
las
CG 2010
Primitivas de Salida
Un atributo (o parámetro de atributo) es cualquierparámetro que afecta la forma en que una primitiva es mostrada.
Los atributos pueden • Incorporarse como parámetros a las primitivas • Setearse separadamente
VyGLab – DCIC - UNS
CG 2010
2
Primitivas de Salida
Punto El punto es la primitiva básica de salida más simple. Se especifica mediante sus coordenadas. Podemos dibujar un 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?
VyGLab – DCIC - UNS CG 2010
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.
VyGLab – DCIC - UNS CG 2010
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 final.
x1 , y1
x0 , y0
Cuando está compuesta de varias líneas, cada una de éstas se 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.VyGLab – DCIC - UNS CG 2010
Primitivas de Salida
Los atributos básicos de los segmentos de línea son • Tipo • Ancho • Color
VyGLab – DCIC - UNS
CG 2010
4
Primitivas de Salida
Atributo Ancho
Generación de líneas anchas
Opciones de lápiz o pincel Patrones de lápiz y pincel para mostrar líneas
VyGLab – DCIC - UNS
CG 2010
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
VyGLab – DCIC - UNS
con
CG 2010
5
Primitivas de Salida
Atributo Tipo
glEnable(GL_LINE_STIPPLE); // Línea con tres estilos diferentes alt=125.0; glLineStipple(1, 0x0101); 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);
VyGLab – DCIC - UNS
CG 2010
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); glLineStipple(1, 0x00FF); DibujarLinea(150.0,alt, 250.0,alt); glLineWidth(4.0);glLineStipple(1, 0x1C47); DibujarLinea(250.0,alt, 350.0,alt);
VyGLab – DCIC - UNS
CG 2010
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);
VyGLab – DCIC - UNS
CG 2010
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();
VyGLab – DCIC - UNS CG 2010
7
Primitivas de Salida
Polilínea Una polilínea puede...
Regístrate para leer el documento completo.