Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функция glFrustum умножает текущую матрицу на матрицу перспективы.
Синтаксис
void WINAPI glFrustum(
GLdouble left,
GLdouble right,
GLdouble bottom,
GLdouble top,
GLdouble zNear,
GLdouble zFar
);
Параметры
-
left
-
Координата левой вертикальной плоскости отсечения.
-
right
-
Координата правой вертикальной плоскости отсечения.
-
Нижней
-
Координата нижней горизонтальной плоскости отсечения.
-
В начало
-
Координата нижней горизонтальной плоскости отсечения.
-
zNear
-
Расстояния до ближней плоскости отсечения. Должен быть положительным.
-
zFar
-
Расстояния до дальней обрезки плоскостей. Должен быть положительным.
Возвращаемое значение
Эта функция не возвращает значение.
Коды ошибок
Следующие коды ошибок могут быть получены функцией glGetError .
Имя | Значение |
---|---|
|
zNear или zFar не было постуритивным. |
|
Функция была вызвана между вызовом glBegin и соответствующим вызовом glEnd. |
Комментарии
Функция glFrustum описывает матрицу перспективы, которая создает перспективную проекцию. Параметры (left, bottom, zNear) и (right, top, zNear) указывают точки на ближней плоскости обрезки, которые сопоставляются с левым и верхним правым углами окна соответственно, при условии, что глаз находится в (0,0,0). Параметр zFar указывает расположение дальней плоскости отсечения. И zNear, и zFar должны быть положительными. Соответствующая матрица показана на следующем рисунке.
Функция glFrustum умножает текущую матрицу на эту матрицу, при этом результат заменяет текущую матрицу. То есть, если M является текущей матрицей, а F — матрицей перспективы frustum, то glFrustum заменяет M на M F.
Используйте glPushMatrix и glPopMatrix для сохранения и восстановления текущего стека матрицы.
На точность буфера глубины влияют значения, указанные для zNear и zFar. Чем больше отношение zFar к zNear , тем менее эффективным будет буфер глубины при различии поверхностей, которые находятся рядом друг с другом. If
Примерно 2 бита журнала(r) точности буфера глубины теряются. Так как r приближается к бесконечности, как zNear приближается к нулю, никогда не следует задавать zNear равным нулю.
Следующие функции извлекают сведения о glFrustum:
glGet с аргументом GL_MATRIX_MODE
glGet с аргументом GL_MODELVIEW_MATRIX
glGet с аргументом GL_PROJECTION_MATRIX
glGet с аргументом GL_TEXTURE_MATRIX
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера |
Windows 2000 Server [только классические приложения] |
Заголовок |
|
Библиотека |
|
DLL |
|