2012-03-27 125 views
3

我有一个运行我的iPhone应用程序的GLSL shader程序(这是一个非常非常简单的着色器)。我正在尝试申报一组vec2,但我遇到了很多麻烦。我的着色器被包装在第三方库中,所以很遗憾,我无法获得关于语法中实际错误的任何真实信息。OpenGL ES 2.0 - vec2数组

我的代码(不工作)申报VEC 2的排列是:

highp vec2 steps[5] = vec2[](
          vec2( 0.0015625, 0.00208333333333), 
          vec2( 0.003125, 0.00416666666667), 
          vec2( 0.00625, 0.00833333333333), 
          vec2(  0.0125, 0.0166666666667), 
          vec2(  0.025, 0.0333333333333) 
          ); 

没有人有任何想法如何创建vec2数据类型在OpenGLES 2.0数组?

+0

我现在不能测试这个,但是将数组换成'{};'而不是'vec2 []();' – 2012-03-27 20:02:45

回答

3
highp vec2 steps[5] = { 
          vec2( 0.0015625, 0.00208333333333), 
          vec2( 0.003125, 0.00416666666667), 
          vec2( 0.00625, 0.00833333333333), 
          vec2(  0.0125, 0.0166666666667), 
          vec2(  0.025, 0.0333333333333) 
          }; 
+1

这是无效的ES2着色语言语法。它真的为你编译?不适合我。 – kiwibonga 2014-05-12 06:32:14

+0

也不会为我编译。这是如何被投票? – hirschhornsalz 2015-12-24 14:51:34