I would like to strat a discussion about glSlang constants one more time. ARB_*_program have a very nice object-oriented binding syntax. Why did ARB gave it up in glSlang specification? I couldn't find any features like automatic matrix inverse/etc. computation, and it makes the things a bit more complicated and messy. And I don't want to end up writing gl_modelview all the time - I don't like the name. The GL_MATRIX*_ARB support is also a nice feature which I miss. I thing, the specs should be changed before it's not too late. It would be nice to have gl_state predefined struct in the shading language.

Corrail

12-17-2003, 10:22 AM

Additional matrix stacks would be really great, yeah! But I think the minumum GL_ATRIX*_ARB stack depth is 1 (and I think many implementation only have a stack depth of 1) so there is no really stack. But this is exactly what I don't want to have. I'd like to have a real stack.

Automatic matrix inverse? Where is that defined in ARB_*_program? Or do you mean transpose?

The gl_modelview isn't that bad. If you don't like it define your own name! :-)

The idea with gl_state is great, yeah!

Zengar

12-18-2003, 06:12 AM

Inverse: like state.modelview.inverse etc.
The same with NV_*_program, glTrackMatrixNV, you can specify the transform. But with glSlang you must compute all of them manually. As I mentioned already, to get the inverse of projection matrix you must do glGetf + transform on CPU + glUniform*
In ARB_*_program: state.projection.inverse