I have a typical habit of coding directly to my shaders, meaning I avoid using the GL state machine as much as possible(I cannot wait until Longs Peak is out).
One of the things I do is parse my matrices directly into the vertex program via uniforms instead of using glLoadMatrix. I control all my state inside my program.
My biggest concern is whether performance will suffer during rendering ops. Shaders may need to be recompiled internally when uniforms change.
I believe it comes down to a question of "What is the driver mostly optimised for?".
Given that games have been using shaders for a long time now, I figured that things such as updating uniforms would be faster than the more traditional fixed function state updates.
Maybe I'm wrong?
One of the things I do is parse my matrices directly into the vertex program via uniforms instead of using glLoadMatrix. I control all my state inside my program.
My biggest concern is whether performance will suffer during rendering ops. Shaders may need to be recompiled internally when uniforms change.
I believe it comes down to a question of "What is the driver mostly optimised for?".
Given that games have been using shaders for a long time now, I figured that things such as updating uniforms would be faster than the more traditional fixed function state updates.
Maybe I'm wrong?