Blender для начинающих/Немного об OpenGL: различия между версиями

Содержимое удалено Содержимое добавлено
Строка 101:
| glVertex2D(x, y) || Рисует 2D точку в координатах (x, y).
|-
| glVertex2DglVertex3D(x, y, z) || Рисует 3D точку в координатах (x, y, z).
|-
| glVertex2dv(a) || Рисует что-либо в соответствии с mode, используя массив из двух переменных.
Строка 114:
! Функция !! Описание !! Пояснение
|-
| glLineStipple(GLint factor, GLushort pattern) || Устанавливает где будет видна линия, а где нет. || Есть некоторое число a, которое переводомпереводится в двоичную систему. Там где 0 - там линия не видна, где 1 - видна. Первый параметр factor указывает количество повторения одного бита (одной цифры в двоичной записи числа).
|-
| glLineWidth(w) || Устанавливает толщину линии в пикселях. || -
|-
| glPolygonMode(side, m) || Устанавливат с какой стороны рисовать треугольник и как. || Параметр side отвечает за сторону, с которой рисовать треугольник, и может принимать одно из значений: GL_FRONT (спереди), GL_BACK (сзади), GL_FRONT_AND_BACK (с обоих сторон). m указывает, как рисовать треугольник - GL_POINT (рисовать только точки треугольника), GL_LINE (рисует ребра треугольника) и GL_FILL (рисует заполненный треугольник).
|}
===Примитивы OpenGL===
Для создания любого из примитивов, приведенных ниже, следует сначала объявить объект типа GLUquadricObj:
<source lang="c">GLUquadricObj *name</source>
Далее инициализировать его:
<source lang="c">name = gluNewQuadric();</source>
И затем рисовать с его помощью примитивы.
* Стиль примитива, который будет нарисован, задается функцией gluQuadricDrawStyle. В которой первый параметр - ссылка на объект типа GLUquadricObj, второй - стиль отрисовки (GLU_POINT - рисуются только точки, GLU_LINE - рисуются только линии, GLU_FILL - фигура рисуется сплошной).
* При создании примитива последними двумя параметрами в функции, которая его создает, будут количество радениеразделение по оси Z и вдоль нее.
{| class="wikitable sortable"
|-
Строка 136:
| gluSylinder(r, r2, h, cZ1, cZ2) || Рисует цилиндр. || r - нижний радиус цилиндра, r2 - верхний радиус, h - высота цилиндра, cZ1 - количество радение по оси Z, а cZ2 - вдоль нее.
|-
| glDisk(r, r2, cZ1, cZ2) || Рисует диск. || r - внутренний радиус диска, r2 - внешний радиус диска, cZ1 - количество радениеразделения по оси Z, а cZ2 - вдоль нее.
|}
===Сглаживание цветов===
Строка 153:
Alpha - значение прозрачности от 0 до 1.
===Плоскости отсечения===
Если Вам надо нарисовать какой -то объект урезанным, то используйте плоскости отсечения. Их может быть 6. Все они называются так: GL_CLIP_PLANE0, GL_CLIP_PLANE1, GL_CLIP_PLANE2, GL_CLIP_PLANE3, GL_CLIP_PLANE4 и GL_CLIP_PLANE5. Для включения плоскости отсечения пишите:
<source lang="c">glEnable(p);</source>
Где p - имя одной из перечисленных выше плоскостей. Вспомните, что плоскость задается уравнением A*x+B*y+C*z+D = 0. Если хотите задать плоскости в OpenGL делайте так:
<source lang="c">glClipPlane(p, a);</source>
Где p - имя одной из перечисленных выше плоскостей; a - массив из четырех чисел, являющихся коэффициентами A, B, C и числом D.