GLSL性能问题,统一int数组大于246

时间:2012-11-21 11:24:17

标签: opengl graphics glsl shader

我只想在片段着色器中实现Perlin Noise。因此,我需要将大小为512的统一int数组传递给片段着色器。现在这导致了我不那么老的mac的糟糕表现(1FPS)。我试图减小数组的大小,这导致数组中有246个元素的硬限制仍然产生交互式帧率。所以我的问题是:

  • 这种限制来自哪里? OSX?显卡? OpenGL版本?
  • 有办法解决这个问题吗?我尝试使用整数纹理,但我的操作系统不支持这些纹理!

有没有人经历过类似的事情?

2 个答案:

答案 0 :(得分:3)

  

因此,我需要将大小为512的统一int数组传递给片段着色器。

您可以使用1D纹理。你甚至不需要整数,漂浮对Perlin Noise起作用也一样好。

答案 1 :(得分:1)

必须是硬件或着色器版本限制。你可以使用纹理吗?