我有一个片段着色器,它可以迭代一些输入数据,并且在旧硬件上我得到:
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 以下)及其驱动程序存在此类问题。当然,英特尔最新的显卡也不会受到此问题的影响。
block 引用>"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/