Blender для начинающих/Немного об OpenGL: различия между версиями
Содержимое удалено Содержимое добавлено
Строка 101:
| glVertex2D(x, y) || Рисует 2D точку в координатах (x, y).
|-
|
|-
| glVertex2dv(a) || Рисует что-либо в соответствии с mode, используя массив из двух переменных.
Строка 114:
! Функция !! Описание !! Пояснение
|-
| glLineStipple(GLint factor, GLushort pattern) || Устанавливает где будет видна линия, а где нет. || Есть некоторое число a, которое
|-
| 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 - фигура рисуется сплошной).
* При создании примитива последними двумя параметрами в функции, которая его создает, будут количество
{| class="wikitable sortable"
|-
Строка 136:
| gluSylinder(r, r2, h, cZ1, cZ2) || Рисует цилиндр. || r - нижний радиус цилиндра, r2 - верхний радиус, h - высота цилиндра, cZ1 - количество радение по оси Z, а cZ2 - вдоль нее.
|-
| glDisk(r, r2, cZ1, cZ2) || Рисует диск. || r - внутренний радиус диска, r2 - внешний радиус диска, cZ1 - количество
|}
===Сглаживание цветов===
Строка 153:
Alpha - значение прозрачности от 0 до 1.
===Плоскости отсечения===
Если Вам надо нарисовать какой
<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.
|