Функция glPointSize
Функция glPointSize указывает диаметр растрированных точек.
Синтаксис
void WINAPI glPointSize(
GLfloat size
);
Параметры
-
size
-
Диаметр растрированных точек. Значение по умолчанию — 1.0.
Возвращаемое значение
Эта функция не возвращает значение.
Коды ошибок
Следующие коды ошибок могут быть получены функцией glGetError .
Имя | Значение |
---|---|
|
размер меньше или равен нулю. |
|
Функция была вызвана между вызовом glBegin и соответствующим вызовом glEnd. |
Комментарии
Функция glPointSize определяет растровый диаметр точек с псевдонимами и с антиалиазированных точек. Использование размера точки, отличного от 1,0, имеет различные эффекты в зависимости от того, включено ли сглаживание точек. Сглаживание точек контролируется путем вызова glEnable и glDisable с аргументом GL_POINT_SMOOTH.
Если сглаживание точек отключено, фактический размер определяется округлением предоставленного размера до ближайшего целого числа. (Если округление приводит к значению 0, это так же, как если бы размер точки был 1.) Если округленный размер нечетный, центральная точка (x,y) фрагмента пикселя, представляющего точку, вычисляется как
(xw + .5, yw + .5)
где индексы w указывают координаты окна. Фрагмент составляют все пиксели, лежащие в квадратной сетке округленного размера по центру (x,y). Если размер четный, центральная точка —
(xw + .5, yw + .5)
и центры растрированного фрагмента — это полу целочисленные координаты окна в квадрате округленного размера по центру (x,y). Всем фрагментам пикселей, созданным при растеризации неантиалиасной точки, назначаются одинаковые связанные данные; значение вершины, соответствующей точке.
Если включено сглаживание, то точечная растеризация создает фрагмент для каждого квадрата пикселя, который пересекается с областью, которая находится в окружности с диаметром, равным текущему размеру точки, и центрируется в точках (xw , yw ). Значение покрытия для каждого фрагмента — это область координат окна пересечения круговой области с соответствующим квадратом пикселя. Это значение сохраняется и используется на последнем шаге растеризации. Данные, связанные с каждым фрагментом, — это данные, связанные с растеризуемой точкой.
Если включено сглаживание точек, поддерживаются не все размеры. Если запрашивается неподдерживаемый размер, используется ближайший поддерживаемый размер. Гарантированно поддерживается только размер 1.0; другие зависят от реализации. Диапазон поддерживаемых размеров и разницу между поддерживаемыми размерами в диапазоне можно запросить, вызвав метод glGet с аргументами GL_POINT_SIZE_RANGE и GL_POINT_SIZE_GRANULARITY.
Размер точки, указанный в glPointSize , всегда возвращается при запросе GL_POINT_SIZE. Зажим и округление точек с псевдонимами и сглаживания не влияют на указанное значение.
Размер точки без сглаживание может быть зажат до максимального значения, зависят от реализации. Хотя это максимальное значение не может быть запрошено, оно должно быть не меньше максимального значения для точек с сглаживание, округленное до ближайшего целочисленного значения.
Следующие функции извлекают сведения, связанные с glPointSize:
glGet с аргументом GL_POINT_SIZE
glGet с GL_POINT_SIZE_RANGE аргументов
glGet с аргументом GL_POINT_SIZE_GRANULARITY
glIsEnabled с аргументом GL_POINT_SMOOTH
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера |
Windows 2000 Server [только классические приложения] |
Заголовок |
|
Библиотека |
|
DLL |
|