Получение нормальной информации из OpenGL Render выхода
-
26-09-2019 - |
Вопрос
Я постараюсь сохранить это просто.
Я хочу получить способ получить доступ к обычной информации сцены, из буфера кадра (или аналогичного). Точно так же способна получить доступ к буферу глубины с помощью Glgetteximage и GL_DEPTH_COMPONENT.
Я знаю, что могу настроить фрагментный шейдер, который выводит обычную информацию в цветовом пространстве RGB, что может в свою очередь, можно прочитать из визуализации изображения. Однако мне интересно, если есть способ сделать это в API OpenGL.
Я уточню что-нибудь по запросу как можно лучше, спасибо
Решение
Вы уже знаете решение: рендерируйте нормальный как RGB. Там нет встроенного обычного буфера, который вы можете использовать. Если вы не хотите добавить свою сцену дважды, используйте объекты кадров (FBO) с несколькими рендерными целями (MRT). Затем вы можете написать как цвет, так и нормальный в отдельные текстуры в вашем фрагменте.