Подтвердить что ты не робот

GluPerspective parameters - что они означают?

Интересно о параметрах gluPerspective.

Во всех примерах я вижу, что fovy установлено около 45-60 градусов Я пытался установить его на разные значения, и объект просто исчезает какое объяснение этому?

Значение aspect всегда должно быть отношением? почему бы это изменить?

zNear, zFar - снова обычные значения составляют около 10 и 500+, что он отражает?

4b9b3361

Ответ 1

Целью 4-х параметров является определение view frustum, например:

perspective frustum

где не должно быть ничего за пределами усеченного узора (для этого параметры используются для вычисления матрицы 4x4, которая затем используется для преобразования каждой вершины в так называемое пространство клипов. вершина внутри усечения или нет тривиальная)

Параметр поля зрения - это в основном угол между плоскостью, проходящей через положение камеры, а также верхней частью экрана и другой плоскостью, проходящей через положение камеры и нижней частью экрана, Чем больше этот угол, тем больше вы можете видеть мир, но в то же время объекты, которые вы видите, станут меньше.

Чтобы наблюдать за его влиянием, я бы предложил кодировать простое приложение, в котором вы можете постепенно увеличивать/уменьшать fov с помощью нажатия клавиши - затем отображать некоторые сферы или другие основные объекты и видеть, что происходит, когда вы меняете его.

Соотношение сторон - это соотношение сторон вашего видового экрана. (На графике выше окно просмотра расположено на ближней плоскости отсечения) Возможность определить его по желанию имеет смысл, так как соотношение сторон вашего видового экрана может меняться.

Значения zNear и zFar определяют расстояние между положением камеры и плоскостями ближнего и дальнего отсечения соответственно. Ничто, что ближе к камере, чем zNear или дальше, чем zFar, будет видимым. Оба значения должны быть > 0 и, очевидно, zFar > zNear. zFar в идеале должен быть выбран так, чтобы все, что вы хотите визуализировать, было видно, но делало его большим, чем необходимый предварительный выбор глубины буфера отходов, и может привести к мерцающим эффектам, называемым z-fight. Аналогично, установка zNear слишком близко к камере может привести к такому же эффекту - фактически, разумное значение zNear более важно, чем zFar. Если вы хотите точно знать, почему это происходит, вы должны прочитать некоторые подробные объяснения, например этот или этот