Функция glFrustum
Функция 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 |
|