Как именно нормализуется NDC?
Везде написано что, чтобы получить Нормализованные Координаты Устройства надо разделить x,y,z на w клипа(перспективное деление), но как оно нормализуется? Чему тогда должен быть равен w клипа, чтобы они x,y,z были в диапазоне -1,1? Или же нормализуются x,y,z и потом происходит перспективное деление?
Ответы (1 шт):
Автор решения: Kromster
→ Ссылка
По идее, у вас есть некоторый суп из геометрии, который перемножается на матрицы:
- Модели, чтобы расположить в мире
- Вида, чтобы расположить в пространстве которое видит камера
- Проекции, чтобы преобразовать в видимый куб (или в трапецию, если это перспективная проекция) и отсечь то что камера не видит (за пределами полученного NDC)
- ну а потом вывести на 2D экран
Другими словами, для получения NDC делается не "нормализация", а трансформации, после которых идет отсечение всего что не попадает в кадр (находится за пределами -1..1).
Вот иллюстрация с learnopengl.com:
