Pergunta

Vou tentar manter isso simples.

Quero uma maneira de acessar as informações normais da cena, na saída do buffer de quadros (ou similar). Da mesma forma, é possível acessar o buffer de profundidade usando o GLGGETTIMAGE e GL_DEPTH_COMPONENT.

Eu sei que poderia configurar um shader de fragmento que gera as informações normais no espaço de cores RGB, que, por sua vez, poderia ser lido a partir da imagem renderizada. Estou me perguntando, no entanto, se existe uma maneira de fazer isso na API OpenGL.

Vou esclarecer qualquer coisa mediante solicitação da melhor maneira possível, obrigado

Foi útil?

Solução

Você já conhece a solução: renderizar o normal como RGB. Não há buffer normal embutido que você possa usar. Se você não deseja renderizar sua cena duas vezes, use Objetos Framebuffer (FBO) com vários alvos de renderização (MRT). Em seguida, você pode escrever a cor e o normal em texturas separadas no shader do fragmento.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top