opengl - GLSL固定功能片段程序替换

标签 opengl glsl lighting light opengl-compat

当使用 OpenGL 固定功能管道进行顶点设置时,片段程序看起来如何与固定功能顶点设置兼容?我想这通常取决于光源和纹理层的数量等。例如,一个简单的非纹理单光源 goraud 着色片段程序看起来如何替代 GL 的固定功能着色器?

最佳答案

您可能有兴趣查看 ShaderGen .来自描述:

ShaderGen is a program that can automatically produce shaders that mimic the results of a set of fixed function state. This tool was used to verify the fixed function shader code that is described in Chapter 9.

顺便说一句,如果混合使用固定功能和 GLSL,您很可能会遇到微妙的驱动程序问题。这不是进行着色的“最常用方法”,因此它有一个很好的改变,即有错误(至少在我尝试时是这样)。如果您需要的东西有效,那就太好了!否则,您最好在 GLSL 中编写顶点和片段着色器。据我所知,现代 GPU 的驱动程序无论如何都使用引擎盖下的着色器来执行固定功能。

关于opengl - GLSL固定功能片段程序替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8421778/

相关文章:

在 opengl 中创建太阳系 - 照明未按计划工作

c++ - 光照没有出现在 OpenGL 中

c - opengl 的镜面光太多

c++ - 将大型体素数据传输到 GLSL 着色器

opengl - OpenGL程序管道对象的正确用法/目的

c++ - OpenGL:如何检查用户 GFX 卡是否可以使用我的着色器进行渲染?

c++ - 我如何有效地处理 OpenGL 中的大量逐顶点属性?

Opengl计算三角形导数

c++ - 将 BMP 加载到 OpenGL 纹理中会切换红色和蓝色。 (C++/Windows )

c++ - 协助调试 OpenGL glsl 着色器或使用它的代码