OpenGL: Почему Fovy должен быть неизменным при изменении размера окнаC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 OpenGL: Почему Fovy должен быть неизменным при изменении размера окна

Сообщение Anonymous »

В GLUT мы можем зарегистрировать обратный вызов, когда размер просмотра будет изменен < /p>

Код: Выделить всё

int main()
{
glutReshapeFunc(reshape);
// Skip the render loop
}

И часто функция Reshape выглядит так, которая меняет матрицу проекции.
void reshape(int width, int height)
{
w = width;
h = height;

glViewport(0, 0, w, h);

float aspect = (float) w / (float) h;
float zNear = 0.1;
float zFar = 99.0;
float fovy = glm::radians(45.0f);
projection = glm::perspective(fovy,aspect,zNear,zFar); // Why is fovy unchanged?

// Now send the updated projection matrix to the shader
glUniformMatrix4fv(projectionPos, 1, GL_FALSE, &projection[0][0]);
}
< /code>
Я не понимаю, почему Fovy (поле зрения в направлении Y) является постоянной в этой функции. Я думаю, что это должно быть < /p>
float fovy = 2*glm::atan(h/(2*zNear)); // arc tangent
< /code>
Viewport эквивалентен ближней плоскости. Если высота просмотра увеличена или уменьшена, не должен ли FOV также меняться соответственно? Поскольку определение поля зрения является углом от нижней части экрана (ViewPort) до верхней части экрана (ViewPort).


Подробнее здесь: https://stackoverflow.com/questions/796 ... ing-window
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • OpenGL: Почему Fovy должен быть неизменным при изменении размера окна
    Anonymous » » в форуме C++
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Почему Фови должен быть неизменным при изменении размера окна
    Anonymous » » в форуме C++
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Почему Фови должен быть неизменным при изменении размера окна
    Anonymous » » в форуме C++
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • ВПФ. Как предотвратить изменение размера элементов DockPanel, чтобы они просто скрывались при изменении размера окна?
    Anonymous » » в форуме C#
    0 Ответы
    32 Просмотры
    Последнее сообщение Anonymous
  • Изменение размера ортофотоплана при изменении размера окна
    Anonymous » » в форуме C#
    0 Ответы
    37 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C++»