отображение из нормализованных координат устройства для просмотра пространства - PullRequest
0 голосов
/ 30 августа 2009

Я хотел бы отобразить из нормализованных координат устройства обратно в пространство просмотра.

Другой способ arround работает так:

viewspace -> clip space: умножить однородные координаты на матрицу проекции

пространство клипа -> нормализованные координаты устройства: разделите (x, y, z, w) на w

теперь в нормализованных координатах устройства все координаты, которые были внутри усеченного вида, попадают в куб x, y, z € [-1,1] и w = 1

Теперь я хотел бы преобразовать некоторые точки на границе этого куба обратно в координаты вида. Матрица проекции неособая, поэтому я могу использовать обратное, чтобы перейти от клипа к пространству просмотра. но я не знаю, как добраться от нормализованного пространства устройства до пространства клипа, так как я не знаю, как вычислить 'w', мне нужно умножить другие координаты на.

Может ли кто-нибудь помочь мне с этим? спасибо!

Ответы [ 2 ]

2 голосов
/ 30 августа 2009

Если вы по какой-то причине не хотите восстановить значения пространства клипа, вам не нужно вычислять W. Умножьте свою точку NDC на обратную матрицу проекции, а затем разделите на W, чтобы вернуться в область просмотра.

0 голосов
/ 24 января 2013

Поточная диаграмма в верхней части и формулы, описанные на следующей странице, могут вам помочь: http://www.songho.ca/opengl/gl_transform.html

...