Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java GLSL阵列不工作_Java_Arrays_Opengl_Glsl_Lwjgl - Fatal编程技术网

Java GLSL阵列不工作

Java GLSL阵列不工作,java,arrays,opengl,glsl,lwjgl,Java,Arrays,Opengl,Glsl,Lwjgl,我一直在尝试创建一个片段着色器,但是在创建一个简单的vec2常量数组时遇到了很多麻烦。我到处找遍了,试遍了我能找到的一切,比如: const vec2 poisson16[16] = vec2[](vec2( -0.94201624, -0.39906216 ), vec2( 0.94558609, -0.76890725 ), vec2( -0.094184101, -0.92

我一直在尝试创建一个片段着色器,但是在创建一个简单的vec2常量数组时遇到了很多麻烦。我到处找遍了,试遍了我能找到的一切,比如:

const vec2 poisson16[16] = vec2[](vec2( -0.94201624,  -0.39906216 ),
                            vec2(  0.94558609,  -0.76890725 ),
                            vec2( -0.094184101, -0.92938870 ),
                            vec2(  0.34495938,   0.29387760 ),
                            ...some other vec2's...
                            vec2( -0.81409955,   0.91437590 ),
                            vec2(  0.19984126,   0.78641367 ),
                            vec2(  0.14383161,  -0.14100790 ) );
但它会打印:

ERROR: 0:23: ']' : syntax error syntax error 
ERROR: 0:38: ';' : syntax error syntax error
我还尝试:

const vec2 poisson16[16] = {    vec2( -0.94201624,  -0.39906216 ),
                            vec2(  0.94558609,  -0.76890725 ),
                            vec2( -0.094184101, -0.92938870 ),
                            vec2(  0.34495938,   0.29387760 ),
                            ...some more vec2's...
                            vec2( -0.81409955,   0.91437590 ),
                            vec2(  0.19984126,   0.78641367 ),
                            vec2(  0.14383161,  -0.14100790 ) };
但这会反过来:

ERROR: 0:22: '{' : syntax error syntax error
给出错误的着色器是片段着色器。在我的程序中,我将java与LWJGL结合使用,并将ARB扩展用于着色器。我用于着色器的设置是直接从中复制的。我根本找不到解决这个问题的方法,我尝试的每件事都以错误告终。可能是着色器设置有问题?

,第3.3节,“预处理器”,第14页:

语言版本1.10不要求着色器包含此指令[
#Version
],并且不包含#Version指令的着色器将被视为目标版本1.10。

因此,由于没有指定
#version
指令,因此假定GLSL为
#version 110

因此,根据第4.1.9节“阵列”,第27页:

在着色器中没有在声明时初始化数组的机制


不过,您可以使用
#version 120
及更高版本来执行您想要的操作。

顺便说一句,我尝试使用的着色器是简单的SSAO着色。如果你有自己的SSAO着色器,发布它就像修复我的数组问题一样好。你的
#version
指令在哪里?