fov slider input maps menu stuff
[carveJwlIkooP6JGAAIwe30JlM.git] / shaders / viewchar.h
index 00dc353ae372541bc8a63cbcf5629acc6e060258..0cd026d9481827fa6f52584323a2994bbd975781 100644 (file)
@@ -75,6 +75,7 @@ static struct vg_shader _shader_viewchar = {
 "   float g_water_fog;\n"
 "   int g_light_count;\n"
 "   int g_light_preview;\n"
+"   int g_shadow_samples;\n"
 "};\n"
 "\n"
 "uniform sampler2D g_world_depth;\n"
@@ -139,6 +140,11 @@ static struct vg_shader _shader_viewchar = {
 "\n"
 "vec3 do_light_shadowing( vec3 vfrag )\n"
 "{\n"
+"   if( g_shadow_samples == 0 )\n"
+"   {\n"
+"      return vfrag;\n"
+"   }\n"
+"\n"
 "   float fspread = g_light_colours[0].w;\n"
 "   vec3  vdir = g_light_directions[0].xyz;\n"
 "   float flength = g_light_directions[0].w;\n"
@@ -174,13 +180,12 @@ static struct vg_shader _shader_viewchar = {
 "\n"
 "   vec3 qnorm = normalize(floor(aNorm*2.0)*0.5) + vec3(0.001,0.0,0.0);\n"
 "\n"
-"   vfrag = do_light_diffuse( vfrag, qnorm );\n"
-"   vfrag = do_light_spec( vfrag, qnorm, halfview, 0.1 );\n"
+"   vfrag = mix( vfrag, do_light_diffuse( vfrag, qnorm ), 0.5 );\n"
+"   //vfrag = do_light_spec( vfrag, qnorm, halfview, 0.1 );\n"
 "   vfrag = do_light_shadowing( vfrag );\n"
 "   vfrag = apply_fog( vfrag, fdist );\n"
 "\n"
 "   float opacity = clamp( fdist, 0.1, 1.0 );\n"
-"\n"
 "   FragColor = vec4(vfrag,opacity);\n"
 "}\n"
 ""},