PDA

View Full Version : NVPARSE & NVASM & Register Combiners



HellKnight
06-13-2001, 01:34 AM
Hey!

Well, I'm trying to make an OpenGL portal based engine using the per-pixel lighting features of the GeForce cards. So I have to use their register combiners. That wouldn't be a problem if there was a general RC interface that could be used with ALL GF crads, no matter how general combiners stages or texture units they have. Unfortunately, that's not the case. For example dot3 bump mapping needs THREE rendering passes on a GF2 card, and only ONE pass on a GF3 board. Further more, the register combiners are configured totally different, so no code-reusing is possible...
So I'm trying to make a generalized RC configuring interface that works on all GF cards. It could be easier than I may think, but then I read of something calles NVparse(...and NVasm). So far I know, NVparse is used to configure the RCs using configuring strings, so that could be easily incorporated into an existing shader system... And to be honest, I've no ideas what NVasm is for...

Maybe you? And what about the NVparse solution and the other one?

Thx for any help, guys



[This message has been edited by HellKnight (edited 06-13-2001).]

richardve
06-13-2001, 04:38 AM
I'm not really sure about this but I believe NVASM is for Pixel Shaders (D3D8) and NVPARSE for Register Combiners/Texture Shaders (OGL)

Correct me if I'm wrong..

cass
06-13-2001, 05:51 AM
NVASM produces D3D bytecodes for vertex shaders and pixel shaders.

nvparse sets OpenGL rendering state from textual descriptions. Right now it supports vertex programs, texture shaders, register combiners.

Thanks -
Cass

davepermen
06-13-2001, 08:40 AM
Originally posted by HellKnight:
For example dot3 bump mapping needs THREE rendering passes on a GF2 card, and only ONE pass on a GF3 board. Further more, the register combiners are configured totally different, so no code-reusing is possible...


thats not true, all wich works on gf2 works on gf3, too, there is no difference.. you can choose if you want to set the combiners with the standartfunctions supported in the extensions, or the nvparse function and use a scriptlanguage witch sets it up..

the only difference is that the gf3 has the power to do 8 general combiners than 2 on the gf2, so there you can do more ( higher specular exponent etc.. )

just check how much general combiners you have, and choose like that wich you want..