OpenGLとGLSLで遅延シェーダーを実装しようとしていますが、ライトのジオメトリに問題があります。これらは私が取っているステップです:
Bind multitarget framebuffer
Render color, position, normal and depth
Unbind framebuffer
Enable blend
Disable depth testing
Render every light
Enable depth testing
Disable blend
Render to screen
しかし、私は前面のみをレンダリングしているので、ライトの中にいると完全に消え、背面のレンダリングは機能しません。これは、光のパワーが2倍になるためです(内部の場合、半分[または通常の量] )。
ライトジオメトリの内側と外側から同じライト値をレンダリングするにはどうすればよいですか?