我一直在嘗試創建一個片段着色器,但創建一個簡單的vec2常量數組時遇到了很多麻煩。我看着無處不在,什麼都試過了我能找到的,像這樣的:GLSL Array Not Working
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
着色器給出e錯誤是片段着色器。我在我的程序中使用帶LWJGL的java,併爲着色器使用ARB擴展。我用於着色器的設置直接從http://lwjgl.org/wiki/index.php?title=GLSL_Shaders_with_LWJGL複製。我根本找不到解決這個問題的方法,我試過的所有事情都以錯誤結束。也許這是着色器設置的問題?
順便說一句,我想做的着色器是簡單的SSAO着色。如果您擁有自己的任何SSAO着色器,發佈它將與修復陣列問題一樣好。 – user3693187
你的'#version'指令在哪裏? – genpfault