我知道我可以选择在DX9中指定着色器,并且我需要在DX10中指定着色器。我的问题是,如果我说我想使用着色器并且我没有指定一个着色器会发生什么。在一个短语中,我正在寻找的是默认行为。是否有默认着色器?
我对以下情况感兴趣:
我很乐意看到指向文档的指针 - 我已经仔细阅读了Microsoft在线DX文档,但却无法找到任何类型的默认行为。
谢谢!
答案 0 :(得分:3)
在OpenGL版本< = 2.x中,如果启用着色器但不提供任何着色器代码,则着色器阶段不完整并尝试渲染某些内容只会导致错误。
在OpenGL版本中,> = 3核心配置文件提供着色器是必需的。没有着色器,它与启用OpenGL-2着色器的情况相同,但没有提供着色器:尝试渲染某些内容=>错误。在OpenGL-3.x兼容性配置文件中,行为与OpenGL-2.x类似 - 没有默认的着色器可以说,行为与固定功能管道匹配,可以通过着色器描述,但是没有指定实际的着色器代码。从技术上讲,现代GPU的OpenGL-2.x驱动程序将在原位创建一个与当前设置的固定功能管道配置相匹配的着色器。