From 66421dbca642d194388f2b82514afc3c5fca2cb7 Mon Sep 17 00:00:00 2001 From: AzaezelX Date: Sun, 26 May 2019 17:19:27 -0500 Subject: [PATCH] specifies floating point for a few entries some shader compilers were treating as int's --- Templates/BaseGame/game/core/rendering/shaders/gl/brdf.glsl | 4 ++-- .../BaseGame/game/core/rendering/shaders/gl/lighting.glsl | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Templates/BaseGame/game/core/rendering/shaders/gl/brdf.glsl b/Templates/BaseGame/game/core/rendering/shaders/gl/brdf.glsl index 2b9709dab..b1b054d70 100644 --- a/Templates/BaseGame/game/core/rendering/shaders/gl/brdf.glsl +++ b/Templates/BaseGame/game/core/rendering/shaders/gl/brdf.glsl @@ -58,8 +58,8 @@ vec3 FresnelSchlickRoughness(float cosTheta, vec3 F0, float roughness) float Fr_DisneyDiffuse(float NdotV, float NdotL, float LdotH, float linearRoughness) { - float energyBias = lerp(0, 0.5, linearRoughness); - float energyFactor = lerp(1.0, 1.0 / 1.51, linearRoughness); + float energyBias = lerp(0.0f, 0.5f, linearRoughness); + float energyFactor = lerp(1.0f, 1.0f / 1.51f, linearRoughness); float fd90 = energyBias + 2.0 * LdotH*LdotH * linearRoughness; vec3 f0 = vec3(1.0f, 1.0f, 1.0f); float lightScatter = F_Schlick(f0, fd90, NdotL).r; diff --git a/Templates/BaseGame/game/core/rendering/shaders/gl/lighting.glsl b/Templates/BaseGame/game/core/rendering/shaders/gl/lighting.glsl index 18b3c73c7..cb01f627a 100644 --- a/Templates/BaseGame/game/core/rendering/shaders/gl/lighting.glsl +++ b/Templates/BaseGame/game/core/rendering/shaders/gl/lighting.glsl @@ -115,7 +115,7 @@ void updateSurface(inout Surface surface) surface.NdotV = abs(dot(surface.N, surface.V)) + 1e-5f; // avoid artifact surface.albedo = surface.baseColor.rgb * (1.0 - surface.metalness); - surface.f0 = lerp(vec3(0.04), surface.baseColor.rgb, surface.metalness); + surface.f0 = lerp(vec3(0.04f), surface.baseColor.rgb, surface.metalness); surface.R = -reflect(surface.V, surface.N); float f90 = saturate(50.0 * dot(surface.f0, vec3(0.33,0.33,0.33))); surface.F = F_Schlick(surface.f0, f90, surface.NdotV);