mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-04-17 09:33:51 +00:00
Remove terrain specular and fix washed-out tonemap
Drop specular lighting from terrain shader — ground materials (dirt, grass, stone) are purely diffuse and specular highlights made them look plastic. Replace Reinhard tonemapper with a shoulder-only compressor that is identity below 0.9 and softly rolls off HDR values above, preserving scene contrast.
This commit is contained in:
parent
09e1ee0ae2
commit
1c718dce22
3 changed files with 5 additions and 15 deletions
|
|
@ -32,9 +32,6 @@ uniform vec3 uAmbientColor;
|
|||
// Camera
|
||||
uniform vec3 uViewPos;
|
||||
|
||||
// HDR specular
|
||||
uniform float uSpecularIntensity;
|
||||
|
||||
// Fog
|
||||
uniform vec3 uFogColor;
|
||||
uniform float uFogStart;
|
||||
|
|
@ -78,14 +75,8 @@ void main() {
|
|||
diff = max(diff, 0.2); // Minimum light to prevent completely dark faces
|
||||
vec3 diffuse = diff * uLightColor * finalColor.rgb;
|
||||
|
||||
// Specular lighting (subtle for terrain)
|
||||
vec3 viewDir = normalize(uViewPos - FragPos);
|
||||
vec3 halfwayDir = normalize(lightDir + viewDir);
|
||||
float spec = pow(max(dot(norm, halfwayDir), 0.0), 32.0);
|
||||
vec3 specular = spec * uLightColor * uSpecularIntensity;
|
||||
|
||||
// Combine lighting
|
||||
vec3 result = ambient + diffuse + specular;
|
||||
// Combine lighting (terrain is purely diffuse — no specular on ground)
|
||||
vec3 result = ambient + diffuse;
|
||||
|
||||
// Apply fog
|
||||
float distance = length(uViewPos - FragPos);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue