/* Shader 428 source, checksum 0 */ #version 120 #define SHADER_MODEL_2 #ifndef GL_ARB_half_float_pixel #define half float #define half2 vec2 #define half3 vec3 #define half4 vec4 #endif #define NG3D_MAX_HW_BONES 48 #define GlobalLightDirection(a) WorldGlobalLightDirection[a] #define GlobalLightDiffuse(a) gl_LightSource[a].diffuse #define GlobalLightSpecular(a) gl_LightSource[a].specular #define GlobalLightAmbient(a) gl_LightSource[a].ambient uniform vec4 WorldGlobalLightDirection[]; #define ncross(a,b) normalize(cross(a,b)) uniform vec4 CameraPosition; uniform mat4 ViewMatrix; varying half3 oL0D, oL1D; varying vec3 wPos; void main() { vec4 iC = gl_Color; vec2 iTC0 = gl_MultiTexCoord0.xy; vec2 iTC1 = gl_MultiTexCoord1.xy; vec3 iP = gl_Vertex.xyz; vec3 cam = CameraPosition.xyz; vec3 localPos = vec3(0.0); float sizeX = (iTC0.x-0.5) * -(iTC1.x); float sizeY = (iTC0.y) * (iTC1.y); vec3 y = vec3(0.0,1.0,0.0); vec3 z = normalize(cam-iP);// z.y = 0; z = normalize(z); vec3 x = normalize(cross(z, y)); localPos = sizeX * x; localPos.y = sizeY; vec3 P = localPos + iP; wPos = P; vec3 vP = (ViewMatrix * vec4(P, 1)).xyz; gl_Position = gl_ProjectionMatrix * vec4(vP, 1.0); float ang = (atan(z.x,z.z) / (2*3.14159) + .5 + iC.a) * 8 + 6.0; float imgX = floor(mod(ang, 4.0)); float imgY = floor(ang/4.0); gl_TexCoord[0].x = ((iTC0.x) / 4.f + (imgX/4.f)); gl_TexCoord[0].y = ((1-iTC0.y) / 2 + imgY / 2); gl_TexCoord[0].xy += vec2(1.0/1024.0, 1.0/256.0); // gl_TexCoord[0].xy = iTC0.xy; // oC.xyz = 1; // oC.a = 1;//iC.b; x.y = z.y = 0; vec3 N0 = normalize(x * (iTC0.x*2.0-1.0) + vec3(0.0,iTC0.y*2.0-1.0,0.0)); vec3 N1 = normalize(x * (iTC0.x*2.0-1.0) + vec3(0.0, 0.0, 0.0) + z); vec3 N = normalize(mix(N1, N0, iTC0.y)); vec3 B = vec3(0,1,0); vec3 T = - normalize(cross(N,B)); mat3 TBN = mat3(T,B,N); oL0D = -normalize(TBN * GlobalLightDirection(0).xyz); oL1D = -normalize(TBN * GlobalLightDirection(1).xyz); gl_FrontColor = iC; } /* Compile status: fail */ /* Log Info: */ Error: Array index out of bounds (index=0 size=0) Error: Array index out of bounds (index=1 size=0)