Compartir a través de


Migración de comandos bgn/end

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.