public void LayoutShadowMaps(LightingDebugSettings lightingDebugSettings) { m_Atlas.UpdateDebugSettings(lightingDebugSettings); if (m_CascadeAtlas != null) { m_CascadeAtlas.UpdateDebugSettings(lightingDebugSettings); } m_AreaLightShadowAtlas.UpdateDebugSettings(lightingDebugSettings); if (lightingDebugSettings.shadowResolutionScaleFactor != 1.0f) { foreach (var shadowResolutionRequest in m_ShadowResolutionRequests) { // We don't rescale the directional shadows with the global shadow scale factor // because there is no dynamic atlas rescale when it overflow. if (shadowResolutionRequest.shadowMapType != ShadowMapType.CascadedDirectional) { shadowResolutionRequest.resolution *= lightingDebugSettings.shadowResolutionScaleFactor; } } } // Assign a position to all the shadows in the atlas, and scale shadows if needed if (m_CascadeAtlas != null && !m_CascadeAtlas.Layout(false)) { Debug.LogError("Cascade Shadow atlasing has failed, only one directional light can cast shadows at a time"); } m_Atlas.Layout(); m_AreaLightShadowAtlas.Layout(); }
public void LayoutShadowMaps(LightingDebugSettings lightingDebugSettings) { m_Atlas.UpdateDebugSettings(lightingDebugSettings); if (m_CascadeAtlas != null) { m_CascadeAtlas.UpdateDebugSettings(lightingDebugSettings); } m_AreaLightShadowAtlas.UpdateDebugSettings(lightingDebugSettings); if (lightingDebugSettings.shadowResolutionScaleFactor != 1.0f) { foreach (var shadowResolutionRequest in m_ShadowResolutionRequests) { shadowResolutionRequest.resolution *= lightingDebugSettings.shadowResolutionScaleFactor; } } // Assign a position to all the shadows in the atlas, and scale shadows if needed if (m_CascadeAtlas != null && !m_CascadeAtlas.Layout(false)) { Debug.LogError("Cascade Shadow atlasing has failed, only one directional light can cast shadows at a time"); } m_Atlas.Layout(); m_AreaLightShadowAtlas.Layout(); }
public void LayoutShadowMaps(LightingDebugSettings lightingDebugSettings) { m_Atlas.UpdateDebugSettings(lightingDebugSettings); if (m_CascadeAtlas != null) { m_CascadeAtlas.UpdateDebugSettings(lightingDebugSettings); } if (lightingDebugSettings.shadowResolutionScaleFactor != 1.0f) { foreach (var shadowResolutionRequest in m_ShadowResolutionRequests) { shadowResolutionRequest.resolution *= lightingDebugSettings.shadowResolutionScaleFactor; } } // Assign a position to all the shadows in the atlas, and scale shadows if needed if (m_CascadeAtlas != null && !m_CascadeAtlas.Layout(false)) { Debug.LogWarning("Cascade Shadow atlasing has failed, try reducing the shadow resolution of the directional light or increase the shadow atlas size"); } m_Atlas.Layout(); }