X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=ld37_one_room;a=blobdiff_plain;f=sdr%2Fshadow-notex.p.glsl;fp=sdr%2Fshadow-notex.p.glsl;h=0000000000000000000000000000000000000000;hp=4946ca0334c18bee63201aa74d1e4fa71d0c048d;hb=f8ad31b8b1856784aefdd3457b6b8f5cb5576892;hpb=cc8a355e7b709f3eb1132cd6b63cf4e482d58332 diff --git a/sdr/shadow-notex.p.glsl b/sdr/shadow-notex.p.glsl deleted file mode 100644 index 4946ca0..0000000 --- a/sdr/shadow-notex.p.glsl +++ /dev/null @@ -1,60 +0,0 @@ -/* vi: set ft=glsl */ -#ifdef USE_CUBEMAP -uniform samplerCube envmap; -#endif -uniform sampler2DShadow shadowmap; - -varying vec3 vdir, ldir[3], normal; -varying vec4 shadow_tc; -varying vec3 wdir; - -#define KD gl_FrontMaterial.diffuse.rgb -#define KS gl_FrontMaterial.specular.rgb -#define SPOW gl_FrontMaterial.shininess - -#define LD(i) gl_LightSource[i].diffuse.rgb -#define LS(i) gl_LightSource[i].specular.rgb - -vec3 calc_diffuse(in vec3 n, in vec3 l, in vec3 lcol) -{ - float ndotl = max(dot(n, l), 0.0); - return KD * lcol * ndotl; -} - -vec3 calc_specular(in vec3 n, in vec3 l, in vec3 v, in vec3 lcol) -{ - vec3 h = normalize(l + v); - float ndoth = max(dot(n, h), 0.0); - return KS * lcol * pow(ndoth, SPOW); -} - -void main() -{ - float shadow = shadow2DProj(shadowmap, shadow_tc).x; - - vec3 n = normalize(normal); - vec3 v = normalize(vdir); - - vec3 l = normalize(ldir[0]); - vec3 diffuse = calc_diffuse(n, l, LD(0)) * shadow; - vec3 specular = calc_specular(n, l, v, LS(0)) * shadow; - - l = normalize(ldir[1]); - diffuse += calc_diffuse(n, l, LD(1)); - specular += calc_specular(n, l, v, LS(1)); - - l = normalize(ldir[2]); - diffuse += calc_diffuse(n, l, LD(2)); - specular += calc_specular(n, l, v, LS(2)); - -#ifdef USE_CUBEMAP - // envmap - vec3 rdir = -reflect(wdir, n); - vec3 env_texel = textureCube(envmap, rdir).xyz; - specular += KS * env_texel; -#endif // USE_CUBEMAP - - vec3 ambient = gl_LightModel.ambient.rgb * KD; - gl_FragColor.rgb = ambient + diffuse + specular; - gl_FragColor.a = gl_FrontMaterial.diffuse.a; -}