On 28/07/06, Jason Green jave27@gmail.com wrote:
- GLSL: Translate oC0-oC3 output registers (multiple render targets)
to gl_FragData[] register. We don't support draw buffers yet, but this allows shader programs that use those registers to compile (such as Settlers 2)
If you do that, you should use gl_FragData[] for *all* render targets, including the first one. gl_FragColor will write to all render targets.
Makes sense. Please use this patch instead. Everything is the same:
- Replace gl_FragColor with gl_FragData[0] for GLSL pixel shader output. - Subtract 1 more constant from total GLSL allowed float constants to accommodate the PROJECTION matrix row that we reference. Some of the shaders in the Settlers 2 demo were failing due to accessing too many constants.
(Settlers 2 still doesn't render correctly due to not supporting multiple render targets, but that should be the last major roadblock for it)
On 7/28/06, H. Verbeet hverbeet@gmail.com wrote:
On 28/07/06, Jason Green jave27@gmail.com wrote:
- GLSL: Translate oC0-oC3 output registers (multiple render targets)
to gl_FragData[] register. We don't support draw buffers yet, but this allows shader programs that use those registers to compile (such as Settlers 2)
If you do that, you should use gl_FragData[] for *all* render targets, including the first one. gl_FragColor will write to all render targets.