From 3e7795ec11714043a7df75d538c294b595d3f424 Mon Sep 17 00:00:00 2001 From: Sam Gateau Date: Wed, 17 May 2017 18:23:47 -0700 Subject: [PATCH] Adding the drawKeyLight shader --- libraries/render-utils/src/ZoneRenderer.cpp | 2 +- .../render-utils/src/zone_drawKeyLight.slf | 17 +++++------------ 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/libraries/render-utils/src/ZoneRenderer.cpp b/libraries/render-utils/src/ZoneRenderer.cpp index 620597e76a..290e3ce6a7 100644 --- a/libraries/render-utils/src/ZoneRenderer.cpp +++ b/libraries/render-utils/src/ZoneRenderer.cpp @@ -68,7 +68,7 @@ const gpu::PipelinePointer& DebugZoneLighting::getKeyLightPipeline() { gpu::Shader::BindingSet slotBindings; slotBindings.insert(gpu::Shader::Binding(std::string("deferredFrameTransformBuffer"), ZONE_DEFERRED_TRANSFORM_BUFFER)); - slotBindings.insert(gpu::Shader::Binding(std::string("keylightBuffer"), ZONE_KEYLIGHT_BUFFER)); + slotBindings.insert(gpu::Shader::Binding(std::string("lightBuffer"), ZONE_KEYLIGHT_BUFFER)); gpu::Shader::makeProgram(*program, slotBindings); diff --git a/libraries/render-utils/src/zone_drawKeyLight.slf b/libraries/render-utils/src/zone_drawKeyLight.slf index f4bb147635..5165d5139d 100644 --- a/libraries/render-utils/src/zone_drawKeyLight.slf +++ b/libraries/render-utils/src/zone_drawKeyLight.slf @@ -45,22 +45,15 @@ void main(void) { vec3 fragNormal = vec3(getViewInverse() * vec4(spherePos, 0.0)); - LightAmbient lightAmbient = getLightAmbient(); + Light light = getLight(); + vec3 lightDirection = getLightDirection(light); + vec3 lightIrradiance = getLightIrradiance(light); - float roughness = 0.1; - float levels = getLightAmbientMapNumMips(lightAmbient); - float lod = min(((roughness)* levels), levels); - vec3 ambientMap = evalSkyboxLight(fragNormal, lod).xyz; - vec3 ambientSH = sphericalHarmonics_evalSphericalLight(getLightAmbientSphere(lightAmbient), fragNormal).xyz; - - // vec3 ambient = sphericalHarmonics_evalSphericalLight(getLightAmbientSphere(lightAmbient), fragNormal).xyz; - // _fragColor = vec4( 0.5 * (fragNormal + vec3(1.0)), 1.0); - - vec3 ambient = (sphereUV.x > 0 ? ambientMap : ambientSH); + vec3 color = lightIrradiance; const float INV_GAMMA_22 = 1.0 / 2.2; - _fragColor = vec4(pow(ambient, vec3(INV_GAMMA_22)), 1.0); + _fragColor = vec4(pow(color, vec3(INV_GAMMA_22)), 1.0); }