Przeglądaj źródła

Made sure any IBL is cleared when closing a sample. There were some cases where the IBL from one sample could persist when opening another sample, for example when going directly from the Mesh sample to the Parallax sample.

Signed-off-by: santorac <[email protected]>
santorac 3 lat temu
rodzic
commit
3494fe1ebb
1 zmienionych plików z 3 dodań i 0 usunięć
  1. 3 0
      Gem/Code/Source/CommonSampleComponentBase.cpp

+ 3 - 0
Gem/Code/Source/CommonSampleComponentBase.cpp

@@ -121,6 +121,7 @@ namespace AtomSampleViewer
     {
     {
         AZ::Render::SkyBoxFeatureProcessorInterface* skyboxFeatureProcessor = AZ::RPI::Scene::GetFeatureProcessorForEntityContextId<AZ::Render::SkyBoxFeatureProcessorInterface>(m_entityContextId);
         AZ::Render::SkyBoxFeatureProcessorInterface* skyboxFeatureProcessor = AZ::RPI::Scene::GetFeatureProcessorForEntityContextId<AZ::Render::SkyBoxFeatureProcessorInterface>(m_entityContextId);
         AZ::Render::DirectionalLightFeatureProcessorInterface* directionalLightFeatureProcessor = AZ::RPI::Scene::GetFeatureProcessorForEntityContextId<AZ::Render::DirectionalLightFeatureProcessorInterface>(m_entityContextId);
         AZ::Render::DirectionalLightFeatureProcessorInterface* directionalLightFeatureProcessor = AZ::RPI::Scene::GetFeatureProcessorForEntityContextId<AZ::Render::DirectionalLightFeatureProcessorInterface>(m_entityContextId);
+        AZ::Render::ImageBasedLightFeatureProcessorInterface* iblFeatureProcessor = AZ::RPI::Scene::GetFeatureProcessorForEntityContextId<AZ::Render::ImageBasedLightFeatureProcessorInterface>(m_entityContextId);
 
 
         for (AZ::Render::DirectionalLightFeatureProcessorInterface::LightHandle& handle : m_lightHandles)
         for (AZ::Render::DirectionalLightFeatureProcessorInterface::LightHandle& handle : m_lightHandles)
         {
         {
@@ -137,6 +138,8 @@ namespace AtomSampleViewer
 
 
         skyboxFeatureProcessor->Enable(false);
         skyboxFeatureProcessor->Enable(false);
 
 
+        iblFeatureProcessor->Reset();
+
         AZ::TransformNotificationBus::MultiHandler::BusDisconnect();
         AZ::TransformNotificationBus::MultiHandler::BusDisconnect();
         AZ::EntityBus::MultiHandler::BusDisconnect();
         AZ::EntityBus::MultiHandler::BusDisconnect();
     }
     }