   does GLSL shader keep uniform values?
  Hey,I don't know how to explain it in one sentence so forgive me my little story:I am using one shader (GLSL but i don't know if that really matters) during my rendering, which is activated for some geometry and deactivated for the others during one rendering pass. Now I am wondering about the following: if I send some uniform values to the shader in the beginning of the rendering (while the shader is active), then deactivate the shader and the activate again, does this uniform variable still contain the value i set in the beginning. The thing is, at the moment it seems to me that it actually does in the application, while i was expecting to encounter some errors. The application is a huge thing and I am just one little programmer so it might be that I overlooked something. Maybe somone here knows how it is and can tell me ...thxrapunzel   
  Yes, GLSL program do indeed maintain their uniform state between bindings, which means you should only be setting them when things change. This is important for things such as texture samplers as there is ALOT of validation work which occurs when you change the value of one.Additional performance hint; unless you relink a shader the uniform locations will stay the same, as such when doing a lookup based on a name cache the results until a relink happens, this saves you having to query the object directly which is "slow".GDC05 video and slide links in the FAQ go into this more iirc.   ;  Hi phantom,thanks a lot, that explains everything (and makes things easier). Also for the hint about uniform locations.thxrapunzel   