From 4b11eb09846410201155c1ff57b9d5f9ed04b5e4 Mon Sep 17 00:00:00 2001 From: wheremyfoodat <44909372+wheremyfoodat@users.noreply.github.com> Date: Tue, 20 Aug 2024 03:09:40 +0300 Subject: [PATCH 1/2] OpenGL: Fix fragment shader compilation error --- src/host_shaders/opengl_fragment_shader.frag | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/host_shaders/opengl_fragment_shader.frag b/src/host_shaders/opengl_fragment_shader.frag index b9f9fe4c..f439b5cd 100644 --- a/src/host_shaders/opengl_fragment_shader.frag +++ b/src/host_shaders/opengl_fragment_shader.frag @@ -523,10 +523,10 @@ void main() { uint GPUREG_FOG_COLOR = readPicaReg(0x00E1u); // Annoyingly color is not encoded in the same way as light color - float r = (GPUREG_FOG_COLOR & 0xFFu) / 255.0; - float g = ((GPUREG_FOG_COLOR >> 8) & 0xFFu) / 255.0; - float b = ((GPUREG_FOG_COLOR >> 16) & 0xFFu) / 255.0; - vec3 fog_color = vec3(r, g, b); + float r = float(GPUREG_FOG_COLOR & 0xFFu); + float g = float((GPUREG_FOG_COLOR >> 8) & 0xFFu); + float b = float((GPUREG_FOG_COLOR >> 16) & 0xFFu); + vec3 fog_color = (1.0 / 255.0) * vec3(r, g, b); fragColour.rgb = mix(fog_color, fragColour.rgb, fog_factor); } From 937348a36fcf642f4aa0644bda845e30007d2d1f Mon Sep 17 00:00:00 2001 From: wheremyfoodat <44909372+wheremyfoodat@users.noreply.github.com> Date: Tue, 20 Aug 2024 03:17:53 +0300 Subject: [PATCH 2/2] OpenGL: Fix shift signedness in fog calculation --- src/host_shaders/opengl_fragment_shader.frag | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/host_shaders/opengl_fragment_shader.frag b/src/host_shaders/opengl_fragment_shader.frag index f439b5cd..9f07df0b 100644 --- a/src/host_shaders/opengl_fragment_shader.frag +++ b/src/host_shaders/opengl_fragment_shader.frag @@ -524,8 +524,8 @@ void main() { // Annoyingly color is not encoded in the same way as light color float r = float(GPUREG_FOG_COLOR & 0xFFu); - float g = float((GPUREG_FOG_COLOR >> 8) & 0xFFu); - float b = float((GPUREG_FOG_COLOR >> 16) & 0xFFu); + float g = float((GPUREG_FOG_COLOR >> 8u) & 0xFFu); + float b = float((GPUREG_FOG_COLOR >> 16u) & 0xFFu); vec3 fog_color = (1.0 / 255.0) * vec3(r, g, b); fragColour.rgb = mix(fog_color, fragColour.rgb, fog_factor); @@ -561,4 +561,4 @@ void main() { break; } } -} \ No newline at end of file +}