|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
Porting bgn/end Commands
IRIS GL uses the begin/end paradigm but has a different function for each graphics primitive. For example, you probably use bgnpolygon and endpolygon to draw polygons, and bgnline and endline to draw lines. In OpenGL, you use the glBegin/ glEnd structure for both. In OpenGL you draw most geometric objects by enclosing a series of functions that specify vertices, normals, textures, and colors between pairs of glBegin and glEnd calls. For example:
void glBegin( GLenum mode) ; /* vertex list, colors, normals, textures, materials */ void glEnd( void );
glBegin takes a single parameter that specifies the drawing mode, and thus the primitive. Here's an OpenGL code fragment that draws a polygon and then a line:
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();
With OpenGL, you draw different geometric objects by specifying different parameters for glBegin. The following table lists the OpenGL glBegin parameters that correspond to equivalent IRIS GL functions.
IRIS GL Call Value of glBegin Mode Meaning bgnpoint GL_POINTS Individual points. bgnline GL_LINE_STRIP Series of connected line segments. bgnclosedline GL_LINE_LOOP Series of connected line segments, with a segment added between first and last vertices. ѕ GL_LINES Pairs of vertices interpreted as individual line segments. bgnpolygon GL_POLYGON Boundary of a simple convex polygon. ѕ GL_TRIANGLES Triples of vertices interpreted as triangles. bgntmesh GL_TRIANGLE_STRIP Linked strips of triangles. ѕ GL_TRIANGLE_FAN Linked fans of triangles. ѕ GL_QUADS Quadruples of vertices interpreted as quadrilaterals. bgnqstrip GL_QUAD_STRIP Linked strips of quadrilaterals.
For a detailed discussion of the differences between triangle meshes, strips, and fans, see "Triangles." There is no limit to the number of vertices you can specify between a glBegin/glEnd pair. In addition to specifying vertices inside a glBegin/glEnd pair, you can specify a current normal, current texture coordinates, and a current color. The following table lists the commands valid inside a glBegin/glEnd pair.
IRIS GL Function OpenGL Equivalent Meaning v2, v3, v4 glVertex Set vertex coordinates. RGBcolor, cpack glColor Set current color. color glIndex Set current color index. n3f glNormal Set normal vector coordinates. ѕ glEvalCoord Evaluate enabled one- and two-dimensional maps. callobj glCallList, glCallLists Execute display list(s). t2 glTexCoord Set texture coordinates. ѕ glEdgeFlag Control drawing edges. lmbind glMaterial Set material properties.
If you use any OpenGL function other than those listed in the preceding table inside a glBegin/glEnd pair, you'll get unpredictable results, or possibly an error.
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
Перенесение bgn/конец Командует
ИРИС GL использует начинать/заканчивать парадигму но имеет другую функцию для каждого графического примитива. Например, Вы вероятно используете bgnpolygon и endpolygon, чтобы делать многоугольниками, и bgnline и endline, чтобы делать линиями. В OpenGL, Вы используете структуру glBegin/ glEnd для обоих. В OpenGL, которым Вы делаете наиболее геометрическими объектами прилагая серию функций, которые определяют грани, нормально, текстуры, и цвета между парами glBegin и вызовов glEnd. Например:
аннулируйте glBegin( способ GLenum); /* список вершины, цветов, нормально, текстур, материалов */ пустота glEnd( пустота );
glBegin Берет единственный параметр, который определяет рисующий способ, и таким образом примитив. Вот кодовый фрагмент OpenGL, что делает многоугольником и затем линия:
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();
С OpenGL, Вы делаете другими геометрическими объектами определяя другие параметры для glBegin. Следующий стол включает параметры OpenGL glBegin, которые переписываются в эквиалентные функции IRIS GL.
ВЕЛИЧИНА Вызова ИРИСА GL Способа glBegin, означающего bgnpoint точки Личности GL_POINTS. bgnline Серия GL_LINE_STRIP связанной линии сегментируется. bgnclosedline Серия GL_LINE_LOOP связанной линии сегментирует, с сегментом добавленным между первыми и последними гранями. U Пары GL_LINES граней интерпретировали как индивидуальные сегменты линии. bgnpolygon Граница GL_POLYGON простого выпуклого многоугольника. U GL_TRIANGLES Тройные граней интерпретированных как треугольники. bgntmesh GL_TRIANGLE_STRIP Связывал полосы треугольников. U GL_TRIANGLE_FAN Связавший вентиляторы треугольников. U Четверки GL_QUADS граней интерпретировали как четырехугольники. bgnqstrip GL_QUAD_STRIP Связывал полосы четырехугольников.
Для подробной дискуссии различий между сетками треугольника, полос, и вентиляторами, смотри "Треугольники." Нет предела в количество граней Вы можете определить между парой glBegin/glEnd. Дополнительно к определяющим граням в glBegin/glEnd пары, Вы можете определить течение нормальные, текущие координаты текстуры, и текущий цвет. Следующий стол включает команды правильные в паре glBegin/glEnd.
ИРИС GL Функционального Эквивалента OpenGL, означающий v2, v3, v4 glVertex Установивший координаты вершины. RGBcolor, cpack glColor БЫЛ УСТАНОВЛЕН текущий цвет. окрасьте glIndex Установивший текущий цветной индекс. n3f glNormal был Установлен нормальные векторные координаты. U glEvalCoord ОЦЕНИВАЕТ разблокированный один- и двумерные карты. callobj glCallList, glCallLists Выполняет дисплейный список(s). t2 glTexCoord был Установлен координаты текстуры. U УПРАВЛЕНИЕ glEdgeFlag, рисующее края. lmbind glMaterial был Установлен материальные свойства.
Если Вы используете любую функцию OpenGL кроме тех указанное на предыдущем столе в glBegin/glEnd пары, Вы получите непредсказуемые результаты, или возможно ошибку.
| |
|
|
| |