From 66847d4570e21c7ba036d1fc4b0c93ec8e387aa5 Mon Sep 17 00:00:00 2001 From: wheremyfoodat <44909372+wheremyfoodat@users.noreply.github.com> Date: Wed, 2 Aug 2023 02:11:55 +0300 Subject: [PATCH] Positional lighting maybe --- src/host_shaders/opengl_fragment_shader.frag | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/host_shaders/opengl_fragment_shader.frag b/src/host_shaders/opengl_fragment_shader.frag index f6461094..1ae5b6ff 100644 --- a/src/host_shaders/opengl_fragment_shader.frag +++ b/src/host_shaders/opengl_fragment_shader.frag @@ -228,10 +228,18 @@ void calcLighting(out vec4 primary_color, out vec4 secondary_color) { decodeFP(bitfieldExtract(GPUREG_LIGHTi_VECTOR_HIGH, 0, 16), 5, 10) )); - // Positional Light - if (bitfieldExtract(GPUREG_LIGHTi_CONFIG, 0, 1) == 0) error_unimpl = true; + vec3 half_vector; - vec3 half_vector = normalize(normalize(light_vector) + view); + // Positional Light + if (bitfieldExtract(GPUREG_LIGHTi_CONFIG, 0, 1) == 0) { + error_unimpl = true; + //half_vector = normalize(normalize(light_vector + v_view) + view); + } + + // Directional light + else { + half_vector = normalize(normalize(light_vector) + view); + } for (int c = 0; c < 7; c++) { if (bitfieldExtract(GPUREG_LIGHTING_CONFIG1, 16 + c, 1) == 0) {