Frage

Ich werde versuchen, diese einfach zu halten.

Ich mag einen Weg, um die normale Information der Szene zugreifen zu können, aus dem Frame Buffer-Ausgang (oder ähnlichem). Auf die gleiche Weise kann man die jeweils Depth Buffer mit glGetTexImage und GL_DEPTH_COMPONENT zugreifen zu können.

Ich weiß, ich könnte einen Fragment-Shader eingerichtet, das gibt die normale Information in RGB-Farbraum, der wiederum aus dem gerenderten Bild gelesen werden kann. Ich frage mich jedoch, ob es einen Weg gibt, dies innerhalb der openGL API zu tun.

Ich werde alles auf Anfrage klären, so gut wie ich kann, Danke

War es hilfreich?

Lösung

Sie kennen bereits die Lösung: die normalen als RGB-Render. Es gibt keine eingebauten im normalen Puffer Sie nutzen könnten. Wenn Sie nicht Ihre Szene machen wollen zweimal, verwenden Framebuffer-Objekte (FBO) mit mehreren Render Targets (MRT). Dann können Sie sowohl Farbe als auch normale in separate Texturen in Ihren Fragment-Shader schreiben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top