Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
IRIS GL usa el paradigma begin/end, pero tiene una función diferente para cada primitivo de gráficos. Por ejemplo, probablemente use bgnpolygon y endpolygon para dibujar polígonos, y bgnline y endline para dibujar líneas. En OpenGL, se usa la estructura glBegin / glEnd para ambos. En OpenGL se dibujan la mayoría de los objetos geométricos mediante la inclusión de una serie de funciones que especifican vértices, normales, texturas y colores entre pares de llamadas glBegin y glEnd . Por ejemplo:
void glBegin( GLenum mode) ;
/* vertex list, colors, normals, textures, materials */
void glEnd( void );
La función glBegin toma un único parámetro que especifica el modo de dibujo y, por tanto, el primitivo. Este es un ejemplo de código de OpenGL que dibuja un polígono y, a continuación, una línea:
glBegin( GL_POLYGON ) ;
glVertex2f(20.0, 10.0);
glVertex2f(10.0, 30.0);
glVertex2f(20.0, 50.0);
glVertex2f(40.0, 50.0);
glVertex2f(50.0, 30.0);
glVertex2f(40.0, 10.0);
glEnd();
glBegin( GL_LINES ) ;
glVertex2i(100,100);
glVertex2i(500,500);
glEnd();
Con OpenGL, dibuja objetos geométricos diferentes especificando parámetros diferentes para glBegin. En la tabla siguiente se enumeran los parámetros glBegin de OpenGL que corresponden a funciones IRIS GL equivalentes.
Función IRIS GL | Valor del modo glBegin | Significado |
---|---|---|
bgnpoint | GL_POINTS | Puntos individuales. |
bgnline | GL_LINE_STRIP | Serie de segmentos de línea conectados. |
bgnclosedline | GL_LINE_LOOP | Serie de segmentos de línea conectados, con un segmento agregado entre los vértices primero y último. |
GL_LINES | Pares de vértices interpretados como segmentos de línea individuales. | |
bgnpolygon | GL_POLYGON | Límite de un polígono convexa simple. |
GL_TRIANGLES | Triples de vértices interpretados como triángulos. | |
bgntmesh | GL_TRIANGLE_STRIP | Franjas vinculadas de triángulos. |
GL_TRIANGLE_FAN | Fans vinculados de triángulos. | |
GL_QUADS | Cuadrúpelos de vértices interpretados como cuadrilaterales. | |
bgnqstrip | GL_QUAD_STRIP | Tiras vinculadas de cuadrilaterales. |
Para obtener una explicación detallada de las diferencias entre las mallas de triángulos, las tiras y los ventiladores, consulte Migración de triángulos.
No hay límite para el número de vértices que se pueden especificar entre un par glBegin / glEnd .
Además de especificar vértices dentro de un par glBegin / glEnd , puede especificar unas coordenadas de textura normales actuales y un color actual. En la tabla siguiente se enumeran los comandos válidos dentro de un par glBegin / glEnd .
Función IRIS GL | Función OpenGL | Significado |
---|---|---|
v2, v3, v4 | glVertex | Establece coordenadas de vértice. |
RGBcolor, cpack | glColor | Establece el color actual. |
color | glIndex | Establece el índice de color actual. |
n3f | glNormal | Establece coordenadas vectoriales normales. |
glEvalCoord | Evalúa los mapas unidimensionales habilitados. | |
callobj | glCallList, glCallLists | Ejecuta listas para mostrar. |
t2 | glTexCoord | Establece coordenadas de textura. |
glEdgeFlag | Controla los bordes de dibujo. | |
lmbind | glMaterial | Establece las propiedades del material. |
Nota
Si usa cualquier función de OpenGL que no sea la indicada en la tabla anterior dentro de un par glBegin / glEnd , obtendrá resultados impredecibles o, posiblemente, un error.