- { FRAGMENT, "tex_sample", "vec4", "texture2D(texture, texture_coord)", 0 },
-
- { VERTEX, "gl_Position", 0, "gl_ProjectionMatrix*eye_vertex", 0 },
- { VERTEX, "shd_vertex", "vec3", "(eye_vertex*eye_shd_rmatrix).xyz", 0 },
- { VERTEX, "eye_shd_rmatrix", "mat4", "mat4(gl_EyePlaneS[shadow_unit], gl_EyePlaneT[shadow_unit], gl_EyePlaneR[shadow_unit], vec4(0.0, 0.0, 0.0, 1.0))", 0 },
+ { FRAGMENT, "normal_sample", "vec3", "texture2D(normalmap, texture_coord).xyz", "!c" },
+ { FRAGMENT, "normal_sample", "vec3", "sample_normalmap(texture_coord)", "c" },
+ { FRAGMENT, "tex_sample", "vec4", "texture2D(texture, texture_coord)", "!c" },
+ { FRAGMENT, "tex_sample", "vec4", "sample_texture(texture_coord)", "c" },
+
+ { VERTEX, "gl_Position", 0, "projection_matrix*eye_vertex", 0 },
+ { VERTEX, "shd_vertex", "vec3", "vec3(dot(eye_vertex, gl_EyePlaneS[shadow_unit]), dot(eye_vertex, gl_EyePlaneT[shadow_unit]), dot(eye_vertex, gl_EyePlaneR[shadow_unit]))", "g" },
+ { VERTEX, "shd_vertex", "vec3", "(shd_eye_matrix*eye_vertex).xyz", "!g" },