2014-02-08 3 views
5

OpenGL documentation для gluProject записывает, что проекция точки v вычисляется с использованием данной матрицы проекции и матрицы модели через v'' = P * M * v, тогда координаты окна производятся с использованием текущего окна просмотра, например. winZ = (v''(2) + 1)/2.Является ли документация для gluProject отсутствующим разделом перспективы?

Разве это не пропущено разделение перспективы v'' на v''(3)? Итак, у нас действительно должны быть формулы вроде winZ = (v''(2)/v''(3) + 1)/2.

Это согласуется с внедрением opengl моей машины и реализацией на OpenGL wiki.

Итак, документация неправильная?

+0

У меня есть смутное воспоминание о том, как наткнуться на это несколько лет назад, но я не могу найти никаких ссылок. – Thomas

ответ

3

Да, в документации, по-видимому, отсутствует разделение (это единственная причина для возврата GLU_FALSE, кстати). Например, проверьте mesa implementation (строки 249-252).