PDA

View Full Version : How to implement MRT ( Draw_buffers ) in NV3x.



stanlylee
03-11-2005, 05:53 PM
I have try the MRT in NV3x. but failed .
Anyboy can tell me why?
Here is the problem :
My Card : FX5600
Driver version: FW 76.10 .(surpport GL 2.0)
glGetIntergerv(GL_MAX_DRAW_BUFFERS) can return a number 4.

But in RenderMonkey ,when I change the gl_FragColor to gl_FragData[0] . the Shader can't link with error message like this :
-------------------------------------------------
<stdlib>(10367) : error C5102: semantics attribute "COLOR" has too big of a numeric index (1)
<stdlib>(10367) : error C5102: semantics attribute "COLOR" has too big of a numeric index (2)
<stdlib>(10367) : error C5102: semantics attribute "COLOR" has too big of a numeric index (3)
<stdlib>(10367) : error C5041: cannot locate suitable resource to bind parameter "<null atom>"
<stdlib>(10367) : error C5041: cannot locate suitable resource to bind parameter "<null atom>"
<stdlib>(10367) : error C5041: cannot locate suitable resource to bind parameter "<null atom>"
--------------------------------------------------

so I try a simple example in NVSDK . the same error. I use pbuffer. wglBindTexImageARB(WGL_AUX0_ARB) also return 0 :( ..

Can any one help me ??

yooyo
03-12-2005, 02:12 AM
AFAIK NV3x hardware doesn't support MRT. So you can't use gl_FragData[n].

yooyo

Corrail
03-12-2005, 02:52 AM
Originally posted by yooyo:
AFAIK NV3x hardware doesn't support MRT. So you can't use gl_FragData[n].

yooyoYes, that's true. NV3x doesn't support MRTs.

stanlylee
03-12-2005, 03:02 AM
But why . they export the function .glDrawBuffers
and let the glGetIntergerv(GL_MAX_DRAW_BUFFERS) return 4.
i think it cause a lot of confusion....

yooyo
03-12-2005, 05:26 AM
Well 76.10 is "heavy" beta driver, so it is a driver bug (or you maybe switch on NV40 emulation in NVEmulate.exe).

yooyo

stanlylee
03-12-2005, 10:12 AM
It seems to be the NX3x really not surpport MRT .
because if I emulate the 6800 mode. it surpport gl_FragData[0].
thank you yoyo :)