Open GL
de301fb4

Общие положения


Точки, линии, треугольники,четырехугольники, многоугольники - простые объекты, из которых состоят любые сложные фигуры. В предыдущей главе мы рисовали сферу, конус и тор. OpenGL непосредственно не поддерживает функций для создания таких сложных объектов, т.е. таких функций нет в opengl32.dll. Эти функции есть в библиотеки утилит glu32.dll, и устроены они следующим образом. Для того чтобы нарисовать сферу функция auxSolidSphere использует функции из библиотеки glu32.dll, а те в свою очередь, использут базовую библиотеку opengl32.dll и из линий или многоугольников строят сферу. Примивы создаются следующим образом:

glBegin(GLenum mode); // указываем, что будем рисовать glVertex[2 3 4][s i f d](...); // первая вершина ... // тут остальные вершины glVertex[2 3 4][s i f d](...); // последняя вершина glEnd(); // закончили рисовать примитив

Сначала вы говорите, что будете рисовать - glBegin с соответсвующим параметром. Возможные значения mode перечислены ниже в таблице. Далее вы указываете вершины, определяющие объкты указанного типа. Обычно вы будете задавать вершину одним из четырех способов.

glVertex2d(x,y); // две переменных типа double glVertex3d(x,y,z); // три переменных типа double glVertex2dv(array); // массив из двух переменных типа double glVertex3d(array); // массив из трех переменных типа double И наконец, вы вызваете glEnd, чтобы указать, что вы закончили рисовать объекты типа, указанного в glBegin. Далее мы подробно разберем создание всех примитивов.



Значение mode Описание
GL_POINTS Каждый вызов glVertex задает отдельную точку.
GL_LINES Каждая пара вершин задает отрезок.
GL_LINE_STRIP Рисуется ломанная.
GL_LINE_LOOP Рисуется ломанная, причем ее последняя точка соединяется с первой.
GL_TRIANGLES Каждые три вызова glVertex задают треугольник.
GL_TRIANGLE_STRIP Рисуются треугольники с общей стороной.
GL_TRIANGLE_FAN Тоже самое, но по другому правилу соединяются вершины, вряд ли понадобится.
GL_QUADS Каждые четыре вызова glVertex задают четырехугольник.
GL_QUAD_STRIP Четырехугольники с общей стороной.
GL_POLYGON Многоугольник.



Содержание раздела