public void ApplyOverrideOn(FrameSettings overridedFrameSettings) { if (overrides == 0) { return; } Array values = Enum.GetValues(typeof(FrameSettingsOverrides)); foreach (FrameSettingsOverrides val in values) { if ((val & overrides) > 0) { s_Overrides[val](overridedFrameSettings, this); } } lightLoopSettings.ApplyOverrideOn(overridedFrameSettings.lightLoopSettings); //propagate override to be chained overridedFrameSettings.overrides = overrides | overridedFrameSettings.overrides; //refresh enums for DebugMenu overridedFrameSettings.Refresh(); }
public void CopyTo(FrameSettings frameSettings) { frameSettings.enableShadow = this.enableShadow; frameSettings.enableContactShadows = this.enableContactShadows; frameSettings.enableShadowMask = this.enableShadowMask; frameSettings.enableSSR = this.enableSSR; frameSettings.enableSSAO = this.enableSSAO; frameSettings.enableSubsurfaceScattering = this.enableSubsurfaceScattering; frameSettings.enableTransmission = this.enableTransmission; frameSettings.enableAtmosphericScattering = this.enableAtmosphericScattering; frameSettings.enableVolumetrics = this.enableVolumetrics; frameSettings.enableReprojectionForVolumetrics = this.enableReprojectionForVolumetrics; frameSettings.enableLightLayers = this.enableLightLayers; frameSettings.diffuseGlobalDimmer = this.diffuseGlobalDimmer; frameSettings.specularGlobalDimmer = this.specularGlobalDimmer; frameSettings.shaderLitMode = this.shaderLitMode; frameSettings.enableDepthPrepassWithDeferredRendering = this.enableDepthPrepassWithDeferredRendering; frameSettings.enableTransparentPrepass = this.enableTransparentPrepass; frameSettings.enableMotionVectors = this.enableMotionVectors; frameSettings.enableObjectMotionVectors = this.enableObjectMotionVectors; frameSettings.enableDecals = this.enableDecals; frameSettings.enableRoughRefraction = this.enableRoughRefraction; frameSettings.enableTransparentPostpass = this.enableTransparentPostpass; frameSettings.enableDistortion = this.enableDistortion; frameSettings.enablePostprocess = this.enablePostprocess; frameSettings.enableOpaqueObjects = this.enableOpaqueObjects; frameSettings.enableTransparentObjects = this.enableTransparentObjects; frameSettings.enableRealtimePlanarReflection = this.enableRealtimePlanarReflection; frameSettings.enableAsyncCompute = this.enableAsyncCompute; frameSettings.runLightListAsync = this.runLightListAsync; frameSettings.runSSAOAsync = this.runSSAOAsync; frameSettings.runSSRAsync = this.runSSRAsync; frameSettings.runContactShadowsAsync = this.runContactShadowsAsync; frameSettings.runVolumeVoxelizationAsync = this.runVolumeVoxelizationAsync; frameSettings.enableMSAA = this.enableMSAA; frameSettings.overrides = this.overrides; this.lightLoopSettings.CopyTo(frameSettings.lightLoopSettings); frameSettings.Refresh(); }