From 7fef65a3fec491551aa3d76a297a99a5b376a973 Mon Sep 17 00:00:00 2001 From: devel Date: Thu, 19 Mar 2026 18:17:27 -0400 Subject: [PATCH] Make fogColor in the fog tutorial a parameter (#5672) * uniform fogColor fogColor is now a parameter * use new fog color parameter * convert ambient to Vector4 --- examples/shaders/resources/shaders/glsl330/fog.fs | 5 +---- examples/shaders/shaders_fog_rendering.c | 7 ++++++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/examples/shaders/resources/shaders/glsl330/fog.fs b/examples/shaders/resources/shaders/glsl330/fog.fs index 67d0795ec..ac0132ff0 100644 --- a/examples/shaders/resources/shaders/glsl330/fog.fs +++ b/examples/shaders/resources/shaders/glsl330/fog.fs @@ -37,6 +37,7 @@ struct Light { uniform Light lights[MAX_LIGHTS]; uniform vec4 ambient; uniform vec3 viewPos; +uniform vec4 fogColor; uniform float fogDensity; void main() @@ -77,10 +78,6 @@ void main() // Fog calculation float dist = length(viewPos - fragPosition); - // these could be parameters... - const vec4 fogColor = vec4(0.5, 0.5, 0.5, 1.0); - //const float fogDensity = 0.16; - // Exponential fog float fogFactor = 1.0/exp((dist*fogDensity)*(dist*fogDensity)); diff --git a/examples/shaders/shaders_fog_rendering.c b/examples/shaders/shaders_fog_rendering.c index bc0e54ceb..a1044312d 100644 --- a/examples/shaders/shaders_fog_rendering.c +++ b/examples/shaders/shaders_fog_rendering.c @@ -72,8 +72,13 @@ int main(void) shader.locs[SHADER_LOC_VECTOR_VIEW] = GetShaderLocation(shader, "viewPos"); // Ambient light level + Vector4 ambient = (Vector4){ 0.2f, 0.2f, 0.2f, 1.0f }; int ambientLoc = GetShaderLocation(shader, "ambient"); - SetShaderValue(shader, ambientLoc, (float[4]){ 0.2f, 0.2f, 0.2f, 1.0f }, SHADER_UNIFORM_VEC4); + SetShaderValue(shader, ambientLoc, &ambient, SHADER_UNIFORM_VEC4); + + Vector4 fogColor = ColorNormalize(GRAY); + int fogColorLoc = GetShaderLocation(shader, "fogColor"); + SetShaderValue(shader, fogColorLoc, &fogColor, SHADER_UNIFORM_VEC4); float fogDensity = 0.15f; int fogDensityLoc = GetShaderLocation(shader, "fogDensity");