Я использую OpenGL для изучения компьютерной графики. Я пытаюсь понять проекционные матрицы. Следующее показано в «Красной книге» OpenGL:
Я не понимаю, почему ширина и высота делятся на 2?
источник
Я использую OpenGL для изучения компьютерной графики. Я пытаюсь понять проекционные матрицы. Следующее показано в «Красной книге» OpenGL:
Я не понимаю, почему ширина и высота делятся на 2?
Поскольку не изменяется от , он изменяется от .
Важна не ширина, а минимальное и максимальное значения . Поскольку находится в центре области просмотра, а не в углу, минимальное и максимальное значения составляют плюс и минус половина ширины.
Кстати, Красная книга не является хорошим введением в графику в целом. Это технический стандарт, а не учебник, поэтому объяснения концепций достаточно, чтобы быть однозначным - оно не пытается преподавать материал. В частности, речь идет о библиотеке рендеринга отсканированных линий, поэтому есть много важных концепций, которые она вообще не описывает, например, какие BRDF важны, как они соотносятся со свойствами поверхности реального мира, чем на самом деле является изображение и многие другие. техники более высокого уровня.
И, наконец, даже в этой области - о том, как использовать графический процессор для ускорения рендеринга - это ужасно устарело. Архитектура GL основана на графических процессорах 20 лет назад. Хотя было добавлено множество функций, чтобы идти в ногу с изменениями в оборудовании, фундаментальные абстракции не являются хорошим способом понимания современных архитектур графических процессоров.
Если вы хотите узнать о теории компьютерной графики, начните с подходящего учебника, такого как Физический рендеринг или Компьютерная графика: принципы и практика, или с онлайн-курса. Если вы хотите узнать, как создать 3D-приложение, начните с учебника о том, какое приложение вас интересует (например, если это игра, попробуйте учебник по Unity).