Поделиться через


Функция gluNurbsProperty

Функция gluNurbsProperty задает неоднородное свойство Rational B-Spline (NURBS).

Синтаксис

void WINAPI gluNurbsProperty(
   GLUnurbs *nobj,
   GLenum   property,
   GLfloat  value
);

Параметры

nobj

Объект NURBS (созданный с помощью gluNewNurbsRenderer).

property

Свойство, которое необходимо задать. Допустимы следующие значения.

Значение Значение
GLU_SAMPLING_TOLERANCE
Указывает максимальную длину (в пикселях), используемую, если метод выборки имеет значение GLU_PATH_LENGTH. Значение по умолчанию — 50,0 пикселей.
GLU_DISPLAY_MODE
Параметр value определяет отрисовку поверхности NURBS. Можно задать значение GLU_FILL, GLU_OUTLINE_POLYGON или GLU_OUTLINE_PATCH.
GLU_FILL. Поверхность отрисовывается как набор многоугольников. Это значение по умолчанию.
GLU_OUTLINE_POLYGON. Библиотека NURBS рисует только контуры многоугольников, созданных тесселяции.
GLU_OUTLINE_PATCH. Рисуются только контуры исправлений и кривых обрезки, определенные пользователем.
GLU_CULLING
Параметр value является логическим значением. Если задано значение GL_TRUE, кривые NURBS, контрольные точки которых находятся за пределами текущего окна просмотра, удаляются до тесселяции. По умолчанию используется GL_FALSE (так как кривая NURBS не может полностью упасть в выпуклую оболочку своих контрольных точек).
GLU_AUTO_LOAD_MATRIX
Параметр value является логическим значением. Если задано значение GL_TRUE, код NURBS скачивает матрицу проекции, матрицу представления модели и окно просмотра с сервера OpenGL для вычисления выборки и отбраковки матриц для каждой отображаемой кривой NURBS. Матрицы выборки и отбраковки необходимы для определения тесселяции поверхности NURBS в сегменты линий или многоугольников и отбрасывания поверхности NURBS, если она находится за пределами смотрового окна.
Если для этого режима задано значение GL_FALSE, необходимо предоставить матрицу проекции, матрицу представления модели и окно просмотра для отрисовщика NURBS, который будет использоваться для создания матриц выборки и выбраковки. Это можно сделать с помощью функции gluLoadSamplingMatrices .
По умолчанию для этого режима используется GL_TRUE. Изменение этого режима с GL_TRUE на GL_FALSE не влияет на матрицы выборки и отбраковки, пока вы не вызовете gluLoadSamplingMatrices.
Следующие параметры свойств поддерживаются в GLU версии 1.1 или более поздней и недопустимы для GLU версии 1.0: GLU_PARAMETRIC_TOLERANCE, GLU_SAMPLING_METHOD, GLU_U_STEP и GLU_V_STEP.
Следующие параметры значений поддерживаются в GLU версии 1.1 или более поздней и недопустимы для GLU версии 1.0: GLU_PATH_LENGTH, GLU_PARAMETRIC_ERROR и GLU_DOMAIN_DISTANCE.
GLU_PARAMETRIC_TOLERANCE
Задает максимальное расстояние (в пикселях), используемое, когда метод выборки имеет значение GLU_PARAMETRIC_ERROR. Значение по умолчанию — 0,5.
GLU_SAMPLING_METHOD
Указывает способ тессализации поверхности NURBS. GLU_SAMPLING_METHOD может иметь одно из следующих трех значений.
GLU_PATH_LENGTH. Значение по умолчанию. Указывает, что поверхности, отображаемые с максимальной длиной (в пикселях) краев многоугольников тесселяции, не превышают значения, указанного GLU_SAMPLING_TOLERANCE.
GLU_PARAMETRIC_ERROR. Указывает, что при отрисовке поверхности значение GLU_PARAMETRIC_TOLERANCE указывает максимальное расстояние (в пикселях) между многоугольниками тесселяции и поверхностями, которые они приблизили.
GLU_DOMAIN_DISTANCE. Указывает в параметрических координатах количество точек выборки на длину единицы измерения u и v .
GLU_U_STEP
Указывает количество точек выборки на длину единицы измерения u в параметрических координатах. Значение GLU_U_STEP используется, если GLU_SAMPLING_METHOD имеет значение GLU_DOMAIN_DISTANCE. По умолчанию используется значение 100.
GLU_V_STEP
Указывает количество точек выборки на длину единицы измерения v в параметрических координатах. Значение GLU_V_STEP используется, если GLU_SAMPLING_METHOD имеет значение GLU_DOMAIN_DISTANCE. По умолчанию используется значение 100.

value

Значение, для которого необходимо задать указанное свойство. Параметр value может быть числовым значением или одним из следующих трех значений: GLU_PATH_LENGTH, GLU_PARAMETRIC_ERROR или GLU_DOMAIN_DISTANCE.

Значение Значение
GLU_PATH_LENGTH
Значение по умолчанию. Указывает, что поверхности, отображаемые с максимальной длиной (в пикселях) краев многоугольников тесселяции, не превышают значения, указанного GLU_SAMPLING_TOLERANCE.
GLU_PARAMETRIC_ERROR
Указывает, что при отрисовке поверхности значение GLU_PARAMETRIC_TOLERANCE указывает максимальное расстояние (в пикселях) между многоугольниками тесселяции и поверхностями, которые они приблизили.
GLU_DOMAIN_DISTANCE
Указывает в параметрических координатах количество точек выборки на длину единицы измерения u и v .

Возвращаемое значение

Эта функция не возвращает значение.

Комментарии

Используйте gluNurbsProperty для управления свойствами, хранящимися в объекте NURBS. Эти свойства влияют на способ отрисовки кривой NURBS.

Требования

Требование Значение
Минимальная версия клиента
Windows 2000 Professional [только классические приложения]
Минимальная версия сервера
Windows 2000 Server [только классические приложения]
Заголовок
Glu.h
Библиотека
Glu32.lib
DLL
Glu32.dll

См. также раздел

gluGetNurbsProperty

gluGetString

gluLoadSamplingMatrices

gluNewNurbsRenderer