nuclear@0: /* vi: set ft=glsl */ nuclear@2: //uniform sampler2DShadow shadowmap; nuclear@0: nuclear@0: varying vec3 vdir, ldir, normal; nuclear@0: varying vec4 shadow_tc; nuclear@0: nuclear@0: #define KD gl_FrontMaterial.diffuse.rgb nuclear@0: #define KS gl_FrontMaterial.specular.rgb nuclear@0: #define SPOW gl_FrontMaterial.shininess nuclear@0: nuclear@0: void main() nuclear@0: { nuclear@2: float shadow = 1.0;//shadow2DProj(shadowmap, shadow_tc).x; nuclear@0: nuclear@0: vec3 n = normalize(normal); nuclear@2: /*vec3 v = normalize(vdir); nuclear@0: vec3 l = normalize(ldir); nuclear@0: vec3 h = normalize(l + v); nuclear@0: nuclear@0: float ndotl = max(dot(n, l), 0.0); nuclear@0: float ndoth = max(dot(n, h), 0.0); nuclear@0: nuclear@0: vec3 diffuse = KD * gl_LightSource[0].diffuse.rgb * ndotl; nuclear@2: vec3 specular = vec3(0.0, 0.0, 0.0);//KS * gl_LightSource[0].specular.rgb * pow(ndoth, SPOW); nuclear@0: nuclear@0: vec3 ambient = gl_LightModel.ambient.rgb * KD; nuclear@0: gl_FragColor.rgb = ambient + (diffuse + specular) * shadow; nuclear@0: gl_FragColor.a = gl_FrontMaterial.diffuse.a; nuclear@2: */ nuclear@2: gl_FragColor.rgb = n * 0.5 + 0.5; nuclear@2: gl_FragColor.a = 1.0; nuclear@0: }