片段着色器中是否存在着色器大小或变量数量的一些限制?iOS OpenGL ES 2.0着色器的限制
我有片段着色器,它在一些阈值大小的代码后返回空图像。我认为,这个问题是受着色器大小或变量数量的限制。
编译后检查我的着色器程序 - 一切正常。
Apple说:
OpenGL ES的限制可以在一个顶点或片段着色器使用每个变量类型的数目。当超过这些限制时,OpenGL ES规范不要求实现提供软件回退;相反,着色器只是无法编译或链接。
Khronos说:可执行 此着色的
2长度是由一致性测试定义。 3临时变量的使用 变量的最大数量由一致性测试定义。
但我找不到这个限制的价值。
UPDATE:
有时,应用程序被中断的glFlush
或glDrawArrays
与EXC_BAD_ACCESS
,如果图像是大的。
解决
问题是太长环和从那里在长的计算时间。着色器不大,但非常复杂。
UPDATE
同样的问题:GPUImage Kuwahara filter on iPhone 4S
我不认为你可以查询最大长度。尽管如此,编译应该会失败。 –
我认为,这个问题是在漫长的循环。但我不能那样做。我认为,这主要是另一种方法必须在这里实施。 – George
发布着色器。这将是获得帮助的唯一途径。 – badweasel