I'm aware that I can optionally specify shaders in DX9, and that I'm required to specify a shader in DX10. The question I have is what happens if I say I want to use a shader and I don't specify one. In a phrase, what I'm looking for is the default behavior. Is there a default shader?
I'm interested in the following scenarios:
I'd love to see a pointer to the documentation for this - I've perused the Microsoft online DX docs but have really gotten nowhere in finding any sort of default behavior.
Thanks!
In OpenGL version <= 2.x if you enable shaders but don't supply any shader code the shader stage is incomplete and trying to render something will just cause an error.
In OpenGL version >= 3 core profile supplying shaders is mandatory. Without a shader it's the same situation as OpenGL-2 shaders enabled, but no shader supplied: Trying to render something => error. In OpenGL-3.x compatibility profile behaviour is just like OpenGL-2.x -- there's not a default shader to speak of, behavior matches the fixed function pipeline, which can be described by a shader, but no actual shader code is specified. Technically the OpenGL-2.x driver for a modern GPU will create a shader in-situ that matchs the currently set fixed function pipeline configuration.