如何执行OpenGL片段着色?

时间:2010-12-08 10:03:40

标签: opengl colors shader fragment material

道歉,如果这是一个愚蠢的问题,但这是我很难解决的问题。

我有一个我在Maya中创建的3D对象(并导出到OBJ和MTL文件),我在OGL中创建了一个模型查看器应用程序来查看它。如果我的假设是正确的(并且你知道他们对假设的看法......)那么因为我没有指定我自己的GLSL着色器,OGL应该使用FFP来确定每个像素的片段颜色?这是对的吗?

根据我的理解,FFP必须实现某种默认着色器,因为它能够显示镜面高光和反射等。有人可以给我一些关于此的信息,也许可以告诉我这个着色是如何完成的?

我理解材料定义用于设置对象材质的属性,但我不确定如何在OGL窗口中与材质显示交互的灯光的最终效果,而无需手动指定着色器(因此我相信有一些默认着色器。)

谢谢,

- 克里斯

1 个答案:

答案 0 :(得分:2)

对于第3代及更高版本的GPU,您的所有假设都是正确的。只要未指定自定义着色器,驱动程序就会为GPU提供模仿FFP的默认着色器。

默认着色器通常实现Phong Lighting模型,具体细节取决于纹理环境的设置参数等。

对于较旧的GPU代,固定功能管道是硬连线的。