From ed3b4610cf773de562b3c55f452fbf7bf5b12b00 Mon Sep 17 00:00:00 2001 From: nathan Date: Sun, 27 Jul 2025 07:38:40 -0600 Subject: Improved skybox --- assets/shaders/glsl100/skybox.fs | 13 +------------ assets/shaders/glsl330/skybox.fs | 13 +------------ assets/skybox.png | Bin 10992 -> 11307 bytes design.org | 4 ++-- src/game.c | 8 -------- 5 files changed, 4 insertions(+), 34 deletions(-) diff --git a/assets/shaders/glsl100/skybox.fs b/assets/shaders/glsl100/skybox.fs index 0ea6876..0861a7a 100644 --- a/assets/shaders/glsl100/skybox.fs +++ b/assets/shaders/glsl100/skybox.fs @@ -7,25 +7,14 @@ varying vec3 fragPosition; // Input uniform values uniform samplerCube environmentMap; -uniform bool vflipped; -uniform bool doGamma; void main() { // Fetch color from texture map - vec4 texelColor = vec4(0.0); - - if (vflipped) texelColor = textureCube(environmentMap, vec3(fragPosition.x, -fragPosition.y, fragPosition.z)); - else texelColor = textureCube(environmentMap, fragPosition); + vec4 texelColor = textureCube(environmentMap, fragPosition); vec3 color = vec3(texelColor.x, texelColor.y, texelColor.z); - if (doGamma) // Apply gamma correction - { - color = color/(color + vec3(1.0)); - color = pow(color, vec3(1.0/2.2)); - } - // Calculate final fragment color gl_FragColor = vec4(color, 1.0); } diff --git a/assets/shaders/glsl330/skybox.fs b/assets/shaders/glsl330/skybox.fs index d71fef0..cb64db0 100644 --- a/assets/shaders/glsl330/skybox.fs +++ b/assets/shaders/glsl330/skybox.fs @@ -5,8 +5,6 @@ in vec3 fragPosition; // Input uniform values uniform samplerCube environmentMap; -uniform bool vflipped; -uniform bool doGamma; // Output fragment color out vec4 finalColor; @@ -14,16 +12,7 @@ out vec4 finalColor; void main() { // Fetch color from texture map - vec3 color = vec3(0.0); - - if (vflipped) color = texture(environmentMap, vec3(fragPosition.x, -fragPosition.y, fragPosition.z)).rgb; - else color = texture(environmentMap, fragPosition).rgb; - - if (doGamma)// Apply gamma correction - { - color = color/(color + vec3(1.0)); - color = pow(color, vec3(1.0/2.2)); - } + vec3 color = texture(environmentMap, fragPosition).rgb; // Calculate final fragment color finalColor = vec4(color, 1.0); diff --git a/assets/skybox.png b/assets/skybox.png index 36a79b2..6bc64c2 100644 Binary files a/assets/skybox.png and b/assets/skybox.png differ diff --git a/design.org b/design.org index c5befc7..481f231 100644 --- a/design.org +++ b/design.org @@ -94,11 +94,11 @@ creates is possible to beat. A little wack is fine as long as its beatable. Since most of the world will just be a height map a image will be generated first than rest of the world will be based around it. -* TODO World generation check list [3/8] +* TODO World generation check list [4/8] + [X] Basic terrain + [X] Ground texture + [X] Trees/plants -+ [ ] Sky ++ [X] Sky + [ ] Pond + [ ] Power lines + [ ] Buildings diff --git a/src/game.c b/src/game.c index 80efe6d..3669c10 100644 --- a/src/game.c +++ b/src/game.c @@ -24,14 +24,6 @@ void initGame(Game* game) game->skybox.materials[0].shader, GetShaderLocation(game->skybox.materials[0].shader, "environmentMap"), (int[1]){ MATERIAL_MAP_CUBEMAP }, SHADER_UNIFORM_INT); - SetShaderValue( - game->skybox.materials[0].shader, - GetShaderLocation(game->skybox.materials[0].shader, "doGamma"), - (int[1]){ 0 }, SHADER_UNIFORM_INT); - SetShaderValue( - game->skybox.materials[0].shader, - GetShaderLocation(game->skybox.materials[0].shader, "vflipped"), - (int[1]){ 0 }, SHADER_UNIFORM_INT); game->skybox.materials[0].maps[MATERIAL_MAP_CUBEMAP].texture = LoadTextureCubemap(game->assets.images[SKYBOX_IMAGE], -- cgit v1.2.3