Все ниже приведенные функции вызываются там же, где и примитивы.
Рис.1. Контрольные точки B(i,j). Напрвления u, v.
Задание контрольных точек:
void glMap2d( GLenum target, | // тип данных. Если равен GL_MAP2_VERTEX_3, значит построение поверхности по массиву точек из трех координат (x, y, z). Можно задать GL_MAP2_VERTEX_4, тогда точка задается 4-мя координатами (x, y, z, h), где h - это вес. |
GLdouble u1, | // начальное значение параметра в u направлении |
GLdouble u2, | // конечное значение параметра в u направлении |
GLint ustride, | // количество данных типа double между соседними точками в u направлении |
GLint uorder, | // количество точек в u направлении |
GLdouble v1, | // начальное значение параметра в v направлении |
GLdouble v2, | // конечное значение параметра в v направлении |
GLint vstride, | // количество данных типа double между соседними точками в v направлении |
GLint vorder, | // количество точек в v направлении |
GLdouble *points ) | // массив контрольных точек, задающих поверхность |
Определение аппроксимирующей сетки, по которой строится поверхность:
void glMapGrid2d( GLint un, | // количество точек сетки в u направлении будет равно un+1 |
GLdouble u1, | // начальное значение параметра в u направлении |
GLdouble u2, | // конечное значение параметра в u направлении |
GLint vn, | // количество точек сетки в v направлении будет равно vn+1 |
GLdouble v1, | // начальное значение параметра в v направлении |
GLdouble v2, | // конечное значение параметра в v направлении |
Определение параметров визуализации поверхности Безье.
void glEvalMesh2( GLenum mode, |
// GL_LINE - отображается сетка, аппроксимирующая поверхность GL_FILL - отображается поверхность GL_POINT - точки сетки аппроксимирующей поверхности |
GLint i1, GLint i2, | // номера точек аппроксимирующей сетки в u направлении, с которых начинается визуализация (i1) поверхности и заканчивается (i2). Причем i1 < i2. i1, i2 принимают значения от 0 до un (из функции glMapGrid2f). |
GLint j1, GLint j2, | // номера точек аппроксимирующей сетки в v направлении, с которой начинается визуализация (j1) поверхности и заканчивается (j2). Причем j1 < j2. j1, j2 принимают значения от 0 до vn (из функции glMapGrid2f). |
Hosted by Graphics & Media Lab
http://graphics.cs.msu.su |
Дизайн: Алексей
Игнатенко
Поддержка: Ольга Соловьева |