Введение в OpenGL - страница 13

стр.

Параметры slices и stacks имеют тот же смысл, что и в предыдущей команде.

>void gluDisk(GLUquadricObj*qobj, GLdouble innerRadius, GLdouble outerRadius, GLint slices, GLint loops)

Строит плоский диск (то есть круг) с центром в начале координат и радиусом outerRadius. При этом если значение innerRadius ненулевое, то в центре диска будет находиться отверстие радиусом innerRadius. Параметр slices задает число разбиений диска вокруг оси z, а параметр loops -число концентрических колец, перпендикулярных оси z.

>void gluPartialDisk(GLUquadricObj *qobj, GLdouble innerRadius, GLdouble outerRadius, GLint slices, GLint loops, GLdouble startAngle, GLdouble sweepAngle);

Отличие этой команды от предыдущей заключается в том, что она строит сектор круга, начальный и конечный углы которого отсчитываются против часовой стрелки от положительного направления оси y и задаются параметрами startAngle и sweepAngle. Углы измеряются в градусах.

Команды, проводящие построение примитивов из библиотеки GLUT, реализованы через стандартные примитивы OpenGL и GLU. Для построения нужного примитива достаточно произвести вызов соответствующей команды.

>void glutSolidSphere(GLdouble radius, GLint slices, GLint stacks)

>void glutWireSphere(GLdouble radius, GLint slices, GLint stacks)

Команда glutSolidSphere() строит сферу, а glutWireSphere() - каркас сферы радиусом radius. Остальные параметры имеют тот же смысл, что и в предыдущих командах.

>void glutSolidCube(GLdouble size)

>void glutWireCube(GLdouble size)

Эти команды строят куб или каркас куба с центром в начале координат и длиной ребра size.

>void glutSolidCone(GLdouble base, GLdouble height, GLint slices, GLint stacks)

>void glutWireCone(GLdouble base, GLdouble height, GLint slices, GLint stacks)

Эти команды строят конус или его каркас высотой height и радиусом основания base, расположенный вдоль оси z. Основание находится в плоскости z=0. Остальные параметры имеют тот же смысл, что и в предыдущих командах.

>void glutSolidTorus(GLdouble innerRadius, GLdouble outerRadius, GLint nsides, GLint rings)

>void glutWireTorus(GLdouble innerRadius, GLdouble outerRadius, GLint nsides, GLint rings)

Эти команды строят тор или его каркас в плоскости z=0. Внутренний и внешний радиусы задаются параметрами innerRadius, outerRadius. Параметр nsides задает число сторон в кольцах, составляющих ортогональное сечение тора, а rings- число радиальных разбиений тора.

>void glutSolidTetrahedron(void)

>void glutWireTetrahedron (void)

Эти команды строят тетраэдр (правильную треугольную пирамиду) или его каркас, при этом радиус описанной сферы вокруг него равен 1.

>void glutSolidOctahedron(void)

>void glutWireOctahedron(void)

Эти команды строят октаэдр или его каркас, радиус описанной вокруг него сферы равен 1.

>void glutSolidDodecahedron(void)

>void glutWireDodecahedron(void)

Эти команды строят додекаэдр или его каркас, радиус описанной вокруг него сферы равен квадратному корню из трех.

>void glutSolidIcosahedron(void)

>void glutWireIcosahedron(void)

Эти команды строят икосаэдр или его каркас, радиус описанной вокруг него сферы равен 1.

Создание приложения в среде MS Visual C++ 5.0

Перед началом работы необходимо скопировать файлы glut.h, glut32.lib glut32.dll в каталоги…\MSVC\Include\Gl,…\MSVC\Lib,…\Windows\System соответственно. Также в этих каталогах надо проверить наличие файлов gl.h, glu.h, opengl32.lib, glu32.lib, opengl32.dll, glu32.dll, которые обычно входят в состав Visual C++ и Windows. При использовании команд из библиотеки GLAUX к перечисленным файлам надо добавить glaux.h, glaux.lib.

Для создания приложения надо выполнить следующие действия:

• Создание проекта: для этого надо выбрать File→New→Projects→Win32 Console Application, набрать имя проекта, OK.

• В появившемся окне выбрать ‘An empty project’, Finish, OK.

• Текст программы можно либо разместить в созданном текстовом файле (выбрав File→New→Files→Text File), либо добавив файл с расширением *.c или *.cpp в проект (выбрав Project→Add To Project→Files).

• Подключить к проекту библиотеки OpenGL. Для этого надо выбрать Project-›Settings-›Link