MCPcopy Create free account
hub / github.com/carbonengine/trinity / PropagateSettings

Method PropagateSettings

trinity/Eve/EveSpaceSceneRenderDriver.cpp:212–296  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

210}
211
212void EveSpaceSceneRenderDriver::PropagateSettings()
213{
214 // AA setting
215 if( m_scene->m_sceneDefaultPostProcess )
216 {
217 if( m_settings.antiAliasingQuality == AntiAliasingQuality::Disabled )
218 {
219 m_scene->m_sceneDefaultPostProcess->SetTaa( nullptr );
220 }
221 else
222 {
223 if( !m_scene->m_sceneDefaultPostProcess->GetTaaIfAvailable() )
224 {
225 Tr2PPTaaEffectPtr taa;
226 taa.CreateInstance();
227 m_scene->m_sceneDefaultPostProcess->SetTaa( taa );
228 }
229 m_scene->m_sceneDefaultPostProcess->GetTaaIfAvailable()->m_quality = (Tr2PPTaaEffect::Quality)m_settings.antiAliasingQuality;
230 }
231 }
232
233 // Shadow quality setting
234 if( m_settings.shadowQuality == ShadowQuality::SHADOW_DISABLED )
235 {
236 m_scene->m_cascadedShadowMap = nullptr;
237 m_scene->m_rtManager = nullptr;
238 }
239 else if( m_settings.shadowQuality == ShadowQuality::SHADOW_RAYTRACED )
240 {
241 m_scene->m_cascadedShadowMap = nullptr;
242 if( !m_scene->m_rtManager )
243 {
244 m_scene->m_rtManager.CreateInstance();
245 }
246 }
247 else
248 {
249 m_scene->m_rtManager = nullptr;
250 if( !m_scene->m_cascadedShadowMap )
251 {
252 m_scene->m_cascadedShadowMap.CreateInstance();
253 }
254 }
255 m_scene->m_shadowQuality = m_settings.shadowQuality;
256
257 // AO quality setting
258 if( m_ssao )
259 {
260 if( m_settings.aoQuality == AmbientOcclusionQuality::Disabled )
261 {
262 m_ssao->Enable( false );
263 }
264 else
265 {
266 m_ssao->Enable( true );
267
268 switch( m_settings.aoQuality )
269 {

Callers

nothing calls this directly

Calls 6

SetTaaMethod · 0.80
GetTaaIfAvailableMethod · 0.80
CreateInstanceMethod · 0.80
EnableMethod · 0.45
SetQualityMethod · 0.45

Tested by

no test coverage detected