Example #1
0
        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();
        }
Example #2
0
        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();
        }