this may be a little off topic, but I need the help of guys who know what is happening down the rendering pipeline.
This is the question: Is it possible to output more than one value in the fragment shader. Using multiple rendering targets one should be able to write 16 floats. Is it possible to double this number? Perhaps one could use FBOs or some other technique. It is important that the output values do not get clamped.
Thanks for your help!
You can use MRT and FBO to write muliple outputs.
All MRT’s must be same pixelformat. In that case depending on hw you can use up to 4 MRT on NVidia hardware (NV4x and G70) and more than 4 MTR’s on new ATI R520 (im not 100% sure for this) with fp32 precission. On older cards it’s difficult. NV3x don’t have MRT support and older ATI RADEON have only 24bit precission. You may use depth buffer (only 24bit precission) and one additional channel.
You better think about multipass solution, ie… if some of outputs depends on some midlevel calculation you may do that calculation in intermediate pass and then use it as source for additional passes.
This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.