//! Function computes contribution of directional light source
//! into global variable DirectLighting (PBR shading).
//! @param theId      light source index
//! @param theNormal  surface normal
//! @param theView    view direction
//! @param theIsFront front/back face flag
//! @param theShadow  shadow attenuation
void occDirectionalLight (in int  theId,
                          in vec3 theNormal,
                          in vec3 theView,
                          in bool theIsFront,
                          in float theShadow)
{
  vec3 aLight = occLight_Position (theId);
  theNormal = theIsFront ? theNormal : -theNormal;
  DirectLighting += occPBRIllumination (theView, aLight, theNormal,
                                        BaseColor, Metallic, Roughness, IOR,
                                        occLight_Specular (theId),
                                        occLight_Intensity(theId)) * theShadow;
}