|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
glFrustum
The glFrustum function multiplies the current matrix by a perspective matrix.
void glFrustum( GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near, GLdouble far );
Parameters
left, right
Specify the coordinates for the left and right vertical clipping planes.
bottom, top
Specify the coordinates for the bottom and top horizontal clipping planes.
near, far
Specify the distances to the near and far depth clipping planes. Both distances must be positive.
Remarks
The glFrustum function describes a perspective matrix that produces a perspective projection. (left, bottom, near) and (right, top , near) specify the points on the near clipping plane that are mapped to the lower left and upper right corners of the window, respectively, assuming that the eye is located at (0, 0, 0). far specifies the location of the far clipping plane. Both near and far must be positive. The corresponding matrix is
The current matrix is multiplied by this matrix with the result replacing the current matrix. That is, if M is the current matrix and F is the frustum perspective matrix, then M is replaced with M · F. Use glPushMatrix and glPopMatrix to save and restore the current matrix stack. Depth buffer precision is affected by the values specified for near and far. The greater the ratio of far to near is, the less effective the depth buffer will be at distinguishing between surfaces that are near each other. If
roughly log (2) r bits of depth buffer precision are lost. Because r approaches infinity as near approaches zero, near must never be set to zero. The following functions retrieve information about the glFrustum function: glGet with argument GL_MATRIX_MODE glGet with argument GL_MODELVIEW_MATRIX glGet with argument GL_PROJECTION_MATRIX glGet with argument GL_TEXTURE_MATRIX
Errors
GL_INVALID_VALUE is generated if near or far is not positive. GL_INVALID_OPERATION is generated if glFrustum is called between a call to glBegin and the corresponding call to glEnd.
See Also
glOrtho, glMatrixMode, glMultMatrix, glPushMatrix, glViewport
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
glFrustum
Функция glFrustum умножает текущую матрицу перспективной матрицей.
пустота glFrustum( GLdouble оставленный, право GLdouble, низ GLdouble, верх GLdouble, GLdouble около, GLdouble значительно );
Параметры
оставленное, право
Определите координаты для левого и правого вертикального отсечения плоскостей.
низ, верх
Определите координаты для низа и завершайте горизонтальное отсечение плоскостей.
около, значительно
Определите расстояния в near и дальнюю глубину, вырезать плоскости. Оба расстояния должны быть положительными.
Замечания
Функция glFrustum описывает перспективную матрицу, которая производит перспективный прогноз. (оставленное, низ, около) и (право, верх , около), определяют точки на near отсечении плоскости, которое отображено в более низкие левые и верхние углы права окна, соответственно, допуская что глаз расположен в (0, 0, 0 далеко определяет позицию далеко вырезать плоскости. Как около так и далеко должно быть положительным. Соответствующая матрица
Текущая матрица умножена на эту матрицу с результатом, заменяющим текущую матрицу. То есть, если M - текущая матрица и F - перспективная матрица frustum, тогда M заменен M Использование F. glPushMatrix и glPopMatrix, чтобы сохранять и восстанавливать текущую матричную кипу. Глубинная буферная точность поражена величинами определенными для около и далеко. Чем больше коэффициент значительно, чтобы около -, тем меньше эффективный глубинный буфер будет в отличительном между поверхностями, которые - около друг друга. Если
приблизительно зарегистрируйте (2) r биты глубинной буферной точности потерены. Поскольку бесконечность r методов как около нуля методов, около не должно никогда установлен в нуль. Следующее функций извлекает информацию о функции glFrustum: glGet С аргументом GL_MATRIX_MODE glGet с аргументом GL_MODELVIEW_MATRIX glGet с аргументом GL_PROJECTION_MATRIX glGet с аргументом GL_TEXTURE_MATRIX
Ошибки
GL_INVALID_VALUE сгенерирован если около или далеко не положительное. GL_INVALID_OPERATION сгенерирован если glFrustum назван между вызовом на glBegin и соответствующий вызов на glEnd.
Смотри Также
glOrtho, glMatrixMode, glMultMatrix, glPushMatrix, glViewport
| |
|
|
| |