Я хочу построить ортогональную проекцию, чтобы моя карта теней от солнца выглядела правильно. К сожалению, код не дает желаемых результатов, как при использовании обычной перспективной проекции. Вот мой код для настройки матрицы проекции:
glViewport (0, 0, (GLsizei)shadowMap.x, (GLsizei)shadowMap.y);
glMatrixMode (GL_PROJECTION);
glLoadIdentity();
//suns use this
glOrtho(0, shadowMap.x, 0, shadowMap.y, 0.1,1000.0);
glMatrixMode (GL_MODELVIEW);
glLoadIdentity();
Насколько я понимаю, это должно быть правильно. Однако после быстрой отладочной визуализации я заметил, что сцена визуализируется в крошечной части экрана. После некоторых экспериментов я обнаружил, что изменение значений shadowMap в glOrtho заставило их покрыть всю текстуру, но было действительно увеличено. В моей перспективной проекции я использую 0,1 и 1000,0 для ближнего и дальнего, и я экспериментировал с ними и с ним. изменяет результаты, но все еще не дает желаемых результатов. Единственный раз, когда я получаю правильные результаты, это когда значения сохраняются в shadowMap.x и shadowMap.y, но, как я уже сказал, его рендеринг очень маленький.
Что я здесь делаю не так? Все, что я прочитал, говорит о том, что исходный код правильный.
РЕДАКТИРОВАТЬ: По-видимому, было непонятно, что это для прохода карты теней, обычный проход отображается с перспективой и в порядке.