But in GLSL, by extension “ATI_draw_buffers“ I can provide MRT, but fragment program can only write gl_FragColor. If I can compress float data, I can managed to compress position, normal information into RGBA channels. Are there correspond functions of “PK2H, PK4B, UP2H, UP4B” in GLSL?
I think (hope) GLSL will support MRT with the upcomming Superbuffer extension. Till then I think you have to use ATI_draw_buffer with GL_Fragment_program…
Originally posted by Corrail: I think (hope) GLSL will support MRT with the upcomming Superbuffer extension. Till then I think you have to use ATI_draw_buffer with GL_Fragment_program…
If you remember from the original proposals,
there was a vec4 gl_FragDatan. This was taken out since core OpenGL did not yet support multiple fragment color (or more generally, data) outputs.
Perhaps a simple extension to support this makes sense?
vec4 gl_FragDatanEXT?
Or
vec4 gl_FragDataEXT[n]?
(Where EXT is either a vendor extension affix, EXT affix, or if approved by the ARB, an ARB affix?)