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.