using different texture format in MRT

Hi there,

I have a problem when I use different texture formats but with same size in MRT.

I want use internal texture formats of GL_RGBA8 for the first render target and GL_INTENSITY32F_ARB for the second.

I know FBO spec. restricts textures with same internal formats, but I remember, DX allows this mismatch texture formats in MRT, which means that graphics hardware validates only the format size rather than the format itself.

If there is anyone who share this problem, could you point me a solution?


Mixed formats work with ATI, but not work with
NVIDIA ( don’know what with newest NVIDIA 8800 hw ).

You may have two problems here.

  1. The formats are mismatched, and that is not supported everywhere.

  2. The intensity format is not allowed as a render target for FBOs. (Only RGB and RGBA)

For #1, this restriction has been lifted on the GeForce8800. I know that I have used RGBA16F alongside RGB10_A2 and other formats in a single FBO.

For #2 some older drivers allowed single channel formats to be rendered to, but as I mentioned it was out of spec.