VP compilers?

Hello everybody!

Can anybody point me to a good Vertex Program compiler, please???

I have the Vertex Shader compiler (vsa.exe) from DirectX and also the “dxvs2oglvp” converter, but I need a VP compiler so I don’t have to go through all the conversions.

Thank You in advance.

huh? Since when could you compile VP programs offline??

but I need a VP compiler so I don’t have to go through all the conversions.

What “conversions” exactly? If you have a load of DX vertex shaders, then use the dx 2 ogl convertor by nvidia, and just pass the strings down to the driver. The driver does the actual compilation itself. (Though I would think of it more as assembling, given the look and syntax of the language)

I fail to understand what it is you actually want.


Hi, again…

I’m talking about OpenGl’s “!!VP 1.0” assembly programs.

There are the “vs 1.0” DX vertex shaders and OGl’s Vertex Programs “!!VP 1.0”(NVBrowserEffects has some Effects using both type of programs.)

What I want is a program that can compile and Debug the VP program(s) without executing an entire OGl code.
I want the program to be able to tell me that this and that is not allowed here, and/or there, and “error in Line #”, and so on.

I’m still new with VP programs, so I need to know if certain things are allowed in some parts of a certain assembly code or not.
I don’t want the program to work, just to know what’s allowed.

Whewwwwww…!!!(sign of relief)

I hope this makes more sense.

Thanks for your quick response, though!


ahhh I see now. Well it wont actually compile the VPs, cos you’ll still have the same code as before it went in. Basically you want a VP verifier, to make sure it’s all legal and no syntax errors, yes?

You could quite easily write one yourself, Just write a small gl program, that doesn’t bother opening windows etc, but instead takes a vp program file on the command line, and attempts to send it down to the driver, it the load program function fails, there is a token called GL_PROGRAM_ERROR_POSITION_NV, which when used as a parameter of glGetInteger() (I think) allows you to get the line number of the VP which has the error.

You could then print out the offending line.