Down this route lies madness

This commit is contained in:
Pokechu22 2022-02-27 15:06:50 -08:00
commit 8ab57474a0

View file

@ -49,7 +49,9 @@ static void GenerateLightShader(ShaderCode& object, const LightingUidData& uid_d
" cosine = max(0.0, dot(_normal, " LIGHT_DIR ".xyz));\n", " cosine = max(0.0, dot(_normal, " LIGHT_DIR ".xyz));\n",
LIGHT_DIR_PARAMS(index)); LIGHT_DIR_PARAMS(index));
object.Write(" }}\n" object.Write(" }}\n"
" // Specular lights use the angle for the denominator as well\n" " ldir = " LIGHT_DIR ".xyz;\n",
LIGHT_DIR_PARAMS(index));
object.Write(" // Specular lights use the angle for the denominator as well\n"
" dist = cosine;\n" " dist = cosine;\n"
" dist2 = dist * dist;\n"); " dist2 = dist * dist;\n");
break; break;
@ -99,6 +101,9 @@ static void GenerateLightShader(ShaderCode& object, const LightingUidData& uid_d
break; break;
} }
if (attn_func == AttenuationFunc::Spec && diffuse_func != DiffuseFunc::None)
object.Write(" diffuse *= (2048.0 + 1024.0);\n");
object.Write(" lacc.{} += int{}(round(attn * diffuse * float{}(" LIGHT_COL ")));\n", swizzle, object.Write(" lacc.{} += int{}(round(attn * diffuse * float{}(" LIGHT_COL ")));\n", swizzle,
swizzle_components, swizzle_components, LIGHT_COL_PARAMS(index, swizzle)); swizzle_components, swizzle_components, LIGHT_COL_PARAMS(index, swizzle));
object.Write(" }}\n"); object.Write(" }}\n");