<@include gpu/Config.slh@> <$VERSION_HEADER$> // Generated on <$_SCRIBE_DATE$> // // directional_light.frag // fragment shader // // Created by Andrzej Kapolka on 9/3/14. // Copyright 2016 High Fidelity, Inc. // // Distributed under the Apache License, Version 2.0. // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html // <@include DeferredBuffer.slh@> <@include DeferredGlobalLight.slh@> <$declareEvalLightmappedColor()$> <$declareEvalAmbientSphereGlobalColor()$> in vec2 _texCoord0; out vec4 _fragColor; void main(void) { DeferredTransform deferredTransform = getDeferredTransform(); DeferredFragment frag = unpackDeferredFragment(deferredTransform, _texCoord0); float shadowAttenuation = 1.0; if (frag.mode == LIGHT_MAPPED) { vec3 color = evalLightmappedColor( deferredTransform.viewInverse, shadowAttenuation, frag.obscurance, frag.normal, frag.diffuse, frag.specularVal.xyz); _fragColor = vec4(color, 1.0); } else { vec3 color = evalAmbientSphereGlobalColor( deferredTransform.viewInverse, shadowAttenuation, frag.obscurance, frag.position.xyz, frag.normal, frag.diffuse, frag.specular, frag.gloss); _fragColor = vec4(color, frag.normalVal.a); } }