39 lines · 1.1 KB · Text
RawDownload
//  Generated on <$_SCRIBE_DATE$>////  Created by Sam Gateau on 7/5/16.//  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 ShadingModel.slh@> <@func declareLightingDirectional(supportScattering)@> void evalLightingDirectional(out vec3 diffuse, out vec3 specular, vec3 lightDir, vec3 lightIrradiance,    SurfaceData surface,    float metallic, vec3 fresnel, vec3 albedo, float shadow<@if supportScattering@>    , float scattering, vec4 midNormalCurvature, vec4 lowNormalCurvature<@endif@>    ) {     // Attenuation    vec3 lightEnergy = shadow * lightIrradiance;     updateSurfaceDataWithLight(surface, -lightDir);     evalFragShading(diffuse, specular, metallic, fresnel, surface, albedo<@if supportScattering@>    ,scattering, midNormalCurvature, lowNormalCurvature<@endif@>    );     lightEnergy *= isDirectionalEnabled();    diffuse *= lightEnergy * isDiffuseEnabled();    specular *= lightEnergy * isSpecularEnabled();} <@endfunc@>