opengl - 哪个版本的 GLSL 支持片段着色器中的索引?

标签 opengl glsl

我有一个片段着色器,它可以迭代一些输入数据,并且在旧硬件上我得到:

error C6013: Only arrays of texcoords may be indexed in this profile, and only with a loop index variable

通过谷歌搜索,我看到了很多诸如“XX 之前的硬件不支持片段着色器索引”之类的内容。

我想知道这种行为是否在 GLSL 版本中标准化,例如“XX 之前的 glsl 版本不支持片段着色器上的索引”。如果是,哪个版本开始支持它。

最佳答案

您的具体硬件是什么?

旧的 ATI 卡(X1600 以下)及其驱动程序存在此类问题。当然,英特尔最新的显卡也不会受到此问题的影响。

"Do you have any sugestion on how to detect if my hardware is capable of indexing in fragment shader?"

唯一可靠但不太美观的方法是获取渲染器信息:

glGetString(GL_RENDERER)

并检查此渲染器是否出现在不支持的渲染器列表中。

关于opengl - 哪个版本的 GLSL 支持片段着色器中的索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10838089/

相关文章:

c++ - 在两个不同的顶点数组对象中使用顶点缓冲区

OpenGL统一采样器缓冲区: what does it point to?

java - OpenGL 纹理面向错误方向的问题

c++ - 是否可以垂直同步单个缓冲上下文?

Java OpenGL渲染许多三角形

opengl - OpenGL 和 GLSL 中的 glTexParameter 和过滤?

c++ - 如何在glm中创建广告牌矩阵

c++ - OpenGL 阴影故障

java - 矩阵 vector 乘法

glsl - OpenFL - 为着色器提供时间