着色器编译成功,但渲染开始后程序崩溃了...我收到的错误信息是:"着色器中没有名为'u_texture'的统一变量"。以下是我的着色器代码:
#ifdef GL_ES
precision mediump float;
#endif
uniform float time;
uniform vec2 mouse;
uniform vec2 resolution;
varying vec2 surfacePosition;
#define MAX_ITER 10
void main( void ) {
vec2 p = surfacePosition*4.0;
vec2 i = p;
float c = 0.0;
float inten = 1.0;
for (int n = 0; n < MAX_ITER; n++) {
float t = time * (1.0 - (1.0 / float(n+1)));
i = p + vec2(
cos(t - i.x) + sin(t + i.y),
sin(t - i.y) + cos(t + i.x)
);
c += 1.0/length(vec2(
p.x / (sin(i.x+t)/inten),
p.y / (cos(i.y+t)/inten)
)
);
}
c /= float(MAX_ITER);
gl_FragColor = vec4(vec3(pow(c,1.5))*vec3(0.99, 0.97, 1.8), 1.0);
}
有人能帮助我吗?我不知道自己哪里出了错。顺便说一下,这是我在网上找到的着色器程序,所以我知道它可以工作,唯一的问题是如何让它与libgdx一起使用。
u_texture
来表示某些东西,而你的着色器必须有它。 - HolyBlackCat