glProgramLocalParameter和glProgramEnvParameter的用途是什么?



它们在NV gpu程序4扩展中定义在这里https://www.opengl.org/registry/specs/NV/gpu_program4.txt

这是将常量数据传输到程序的唯一方法吗?当我们使用GLSL时,这个被制服取代了吗?

我还在某处看到了glProgramBufferParameter,更困惑了。这是用于着色器存储缓冲区吗?

它们在NV gpu程序4扩展中定义在这里

不,它们被这个扩展引用。在ARB_vertex_program

中定义它们

这是将常量数据传输到程序的唯一方法吗?

如果你使用的是旧的和尘封的ARB_…_program扩展名,那么可以。如果你使用GLSL,那么制服就是最好的选择。

我还在某处看到了glProgramBufferParameter,并得到了更多

没有名为glProgramBufferParameter的函数。但是有一个函数glProgramBufferParameters*NV。NV最后很重要,它告诉我们这是一个NVidia特定的扩展。同样,这是用于ARB_…程序风格着色器,而不是用于GLSL;NVidia OpenGL实现内部将GLSL编译为ARB…_program样式的着色器。

无论如何,程序缓冲区对象有一个统一缓冲区对象形式的GLSL对应:https://www.opengl.org/wiki/Uniform_Buffer_Object

相关内容

  • 没有找到相关文章