public void onGUI(float x, float y)
        {
            AmbientOcclusionModel.Settings settings = m_model.settings;

            if (GUI.Button(new Rect(x, y, 75, 20), "Default"))
            {
                m_model.settings = AmbientOcclusionModel.Settings.defaultSettings;
            }

            y += 25;

            m_model.enabled = GUI.Toggle(new Rect(x, y, 200.0f, 20.0f), m_model.enabled, "enable ambient occlusion");
            y += 25;

            settings.intensity = GUIUtils.drawSliderWithLabel(x, y, 0.0f, 4.0f, "Intensity", m_model.settings.intensity);
            y += 25;

            settings.radius = GUIUtils.drawSliderWithLabel(x, y, 0.0f, 2.0f, "Radius", settings.radius);
            y += 25;

            settings.sampleCount = (AmbientOcclusionModel.SampleCount)GUIUtils.drawIntSliderWithLabel(x, y, 0, (int)AmbientOcclusionModel.SampleCount.High, "Sample Count: ", settings.sampleCount.ToString(), (int)settings.sampleCount);
            y += 25;

            // m_config.settings.source = (OcclusionSource)PPFXUtility.drawIntSliderWithLabel(x, y, 0, 1, "Occlusion Source: ", m_activeConfig.getOcclusionSourceLabel(), (int)m_config.settings.source);
            // y += 25;

            settings.downsampling = GUI.Toggle(new Rect(x, y, 200.0f, 20.0f), settings.downsampling, "Enable downsampling");
            y += 25;

            m_model.settings = settings;
        }
    private static void ConvertAmbientOcclusionSettings(PostProcessProfile ppp, AmbientOcclusionModel.Settings oldAmbientOcclusionSettings)
    {
        var newAmbientOcclusionSettings = ppp.AddSettings <AmbientOcclusion>();

        newAmbientOcclusionSettings.ambientOnly.overrideState = true;
        newAmbientOcclusionSettings.ambientOnly.value         = oldAmbientOcclusionSettings.ambientOnly;
        // Ignoring ao.downsampling
        // Ignoring ao.forceForwardCompatibility
        newAmbientOcclusionSettings.intensity.overrideState = true;
        newAmbientOcclusionSettings.intensity.value         = oldAmbientOcclusionSettings.intensity / 2f; // Intensity seems less impactful in postv2

        newAmbientOcclusionSettings.quality.overrideState = true;
        switch (oldAmbientOcclusionSettings.sampleCount)
        {
        case AmbientOcclusionModel.SampleCount.High:
            newAmbientOcclusionSettings.quality.value = AmbientOcclusionQuality.High;
            break;

        case AmbientOcclusionModel.SampleCount.Medium:
            newAmbientOcclusionSettings.quality.value = AmbientOcclusionQuality.Medium;
            break;

        case AmbientOcclusionModel.SampleCount.Low:
            newAmbientOcclusionSettings.quality.value = AmbientOcclusionQuality.Low;
            break;

        case AmbientOcclusionModel.SampleCount.Lowest:
            newAmbientOcclusionSettings.quality.value = AmbientOcclusionQuality.Lowest;
            break;
        }

        newAmbientOcclusionSettings.radius.overrideState = true;
        newAmbientOcclusionSettings.radius.value         = oldAmbientOcclusionSettings.radius;
        // Ignoring ao.highPrecision
    }
    IEnumerator save_AmbientOcclusion()
    {
        yield return(new WaitForEndOfFrame());


        for (int a = 0; a < pb.Length; a++)
        {
            AmbientOcclusionModel m = pb [a].profile.ambientOcclusion;

            if (ambientOcclusion.value == 0)
            {
                m.enabled = false;
                PlayerPrefs.SetString("AO", "Off");
            }

            if (ambientOcclusion.value == 1)
            {
                m.enabled = true;

                AmbientOcclusionModel.Settings s = pb [a].profile.ambientOcclusion.settings;
                s.sampleCount = AmbientOcclusionModel.SampleCount.Lowest;
                m.settings    = s;
                PlayerPrefs.SetString("AO", "Lowest");
            }
            if (ambientOcclusion.value == 2)
            {
                m.enabled = true;

                AmbientOcclusionModel.Settings s = pb [a].profile.ambientOcclusion.settings;
                s.sampleCount = AmbientOcclusionModel.SampleCount.Low;
                m.settings    = s;
                PlayerPrefs.SetString("AO", "Low");
            }
            if (ambientOcclusion.value == 3)
            {
                m.enabled = true;

                AmbientOcclusionModel.Settings s = pb [a].profile.ambientOcclusion.settings;
                s.sampleCount = AmbientOcclusionModel.SampleCount.Medium;
                m.settings    = s;
                PlayerPrefs.SetString("AO", "Medium");
            }
            if (ambientOcclusion.value == 4)
            {
                m.enabled = true;

                AmbientOcclusionModel.Settings s = pb [a].profile.ambientOcclusion.settings;
                s.sampleCount = AmbientOcclusionModel.SampleCount.High;
                m.settings    = s;
                PlayerPrefs.SetString("AO", "High");
            }
        }
    }
        public void Settings()
        {
            profile.antialiasing.enabled = AAenable.Value;
            AntialiasingModel.Settings AAsettings = profile.antialiasing.settings;
            AAsettings.method = AAMethod.Value;                           //AntialiasingModel.Method.Taa;
            AAsettings.fxaaSettings.preset            = FXAAPreset.Value; //AntialiasingModel.FxaaPreset.ExtremePerformance;
            AAsettings.taaSettings.jitterSpread       = TAAjittetSpeed.Value;
            AAsettings.taaSettings.sharpen            = TAAsharpen.Value;
            AAsettings.taaSettings.stationaryBlending = TAAstationaryBlending.Value;
            AAsettings.taaSettings.motionBlending     = TAAmotionBlending.Value;
            profile.antialiasing.settings             = AAsettings;

            profile.ambientOcclusion.enabled = AOenable.Value;
            AmbientOcclusionModel.Settings AOsettings = profile.ambientOcclusion.settings;
            AOsettings.intensity    = AOintensity.Value;
            AOsettings.downsampling = AOdownsampling.Value;
            AOsettings.forceForwardCompatibility = AOforceForwardCompatibility.Value;
            AOsettings.sampleCount            = AOsampleCount.Value;//AmbientOcclusionModel.SampleCount.High;
            AOsettings.highPrecision          = AOhighPrecision.Value;
            AOsettings.ambientOnly            = AOambientOnly.Value;
            AOsettings.radius                 = AOradius.Value;
            profile.ambientOcclusion.settings = AOsettings;

            profile.screenSpaceReflection.enabled = SSRenable.Value;
            ScreenSpaceReflectionModel.Settings SSRsettings = profile.screenSpaceReflection.settings;
            SSRsettings.intensity.reflectionMultiplier = SSRrefMultiplier.Value;
            SSRsettings.intensity.fadeDistance         = SSRfadeDistance.Value;
            SSRsettings.intensity.fresnelFade          = SSRfresnelFade.Value;
            SSRsettings.intensity.fresnelFadePower     = SSRfresnelFadePower.Value;
            SSRsettings.reflection.blendType           = SSRrefBlendtype.Value;
            SSRsettings.reflection.reflectionQuality   = SSRrefQuality.Value;
            SSRsettings.reflection.maxDistance         = SSRmaxDistance.Value;
            SSRsettings.reflection.iterationCount      = SSRiterationCount.Value;
            SSRsettings.reflection.stepSize            = SSRstepSize.Value;
            SSRsettings.reflection.widthModifier       = SSRwidthModifier.Value;
            SSRsettings.reflection.reflectionBlur      = SSRrefBlur.Value;
            SSRsettings.reflection.reflectBackfaces    = SSRrefBackfaces.Value;
            SSRsettings.screenEdgeMask.intensity       = SSRscreenEdgemaskIntensity.Value;
            profile.screenSpaceReflection.settings     = SSRsettings;

            profile.bloom.enabled = Bloomenable.Value;
            BloomModel.Settings bloomsetting = profile.bloom.settings;
            bloomsetting.bloom.intensity   = Bloomintensity.Value;
            bloomsetting.bloom.radius      = Bloomradius.Value;
            bloomsetting.bloom.softKnee    = BloomsoftKnee.Value;
            bloomsetting.bloom.threshold   = Bloomthreshold.Value;
            bloomsetting.bloom.antiFlicker = BloomAntiFk.Value;
            profile.bloom.settings         = bloomsetting;
            //Debug.LogError("testtesttest");
        }
예제 #5
0
        private static void WriteAO(List <string> lines, AmbientOcclusionModel.Settings settings)
        {
            lines.Append("Ambient_Occlusion", 1);
            lines.Append("{", 1);

            lines.Append("Ambient_Only = " + settings.ambientOnly.Convert(), 2);
            lines.Append("Downsampling = " + settings.downsampling.Convert(), 2);
            lines.Append("Force_Forward_Compatibility = " + settings.forceForwardCompatibility.Convert(), 2);
            lines.Append("High_Precision = " + settings.highPrecision.Convert(), 2);
            lines.Append("Intensity = " + settings.intensity, 2);
            lines.Append("Radius = " + settings.radius, 2);
            lines.Append("Sample_Count = " + (int)settings.sampleCount, 2);

            lines.Append("}", 1);
        }
예제 #6
0
            static void Postfix(ref VignetteComponent ___m_Vignette, ref BloomComponent ___m_Bloom, ref EyeAdaptationComponent ___m_EyeAdaptation, ref DepthOfFieldComponent ___m_DepthOfField, ref MotionBlurComponent ___m_MotionBlur, ref ColorGradingComponent ___m_ColorGrading, ref TaaComponent ___m_Taa, ref FxaaComponent ___m_Fxaa, ref AmbientOcclusionComponent ___m_AmbientOcclusion)
            {
                if (enabled && settings.customVignette)
                {
                    VignetteModel.Settings vSettings = new VignetteModel.Settings
                    {
                        mode       = VignetteModel.Mode.Classic,
                        intensity  = settings.vignetteIntensity,
                        color      = new Color(settings.vignetteColorRed, settings.vignetteColorGreen, settings.vignetteColorBlue, settings.vignetteColorAlpha),
                        center     = new Vector2(settings.vignetteX, settings.vignetteY),
                        smoothness = settings.vignetteSmoothness,
                        roundness  = settings.vignetteRoundness,
                        rounded    = settings.vignetteRounded
                    };
                    ___m_Vignette.model.settings = vSettings;
                }
                else
                {
                    ___m_Vignette.model.settings = defaultVignetteSettings;
                }

                if (enabled && settings.customBloom)
                {
                    BloomModel.BloomSettings bbSettings = new BloomModel.BloomSettings
                    {
                        intensity   = settings.bloomIntensity,
                        threshold   = settings.bloomThreshold,
                        softKnee    = settings.bloomSoftKnee,
                        radius      = settings.bloomRadius,
                        antiFlicker = settings.bloomAntiFlicker
                    };

                    BloomModel.LensDirtSettings blSettings = new BloomModel.LensDirtSettings
                    {
                        texture   = ___m_Bloom.model.settings.lensDirt.texture,
                        intensity = settings.bloomLensDirtIntensity
                    };
                    BloomModel.Settings bSettings = new BloomModel.Settings
                    {
                        bloom    = bbSettings,
                        lensDirt = blSettings
                    };

                    ___m_Bloom.model.settings = bSettings;
                }
                else
                {
                    ___m_Bloom.model.settings = defaultBloomSettings;
                }

                if (enabled && settings.customEyeAdapt)
                {
                    EyeAdaptationModel.Settings eSettings = new EyeAdaptationModel.Settings
                    {
                        lowPercent      = settings.eyeAdaptLowPercent,
                        highPercent     = settings.eyeAdaptHighPercent,
                        minLuminance    = settings.eyeAdaptMinLuminance,
                        maxLuminance    = settings.eyeAdaptMaxLuminance,
                        keyValue        = settings.eyeAdaptKeyValue,
                        dynamicKeyValue = settings.eyeAdaptDynamicKeyValue,
                        adaptationType  = settings.eyeAdaptAdaptationFixed?EyeAdaptationModel.EyeAdaptationType.Fixed: EyeAdaptationModel.EyeAdaptationType.Progressive,
                        speedUp         = settings.eyeAdaptSpeedUp,
                        speedDown       = settings.eyeAdaptSpeedDown,
                        logMin          = settings.eyeAdaptLogMin,
                        logMax          = settings.eyeAdaptLogMax,
                    };

                    ___m_EyeAdaptation.model.settings = eSettings;
                }
                else
                {
                    ___m_EyeAdaptation.model.settings = defaultEyeAdaptSettings;
                }

                if (enabled && settings.customMotionBlur)
                {
                    MotionBlurModel.Settings mSettings = new MotionBlurModel.Settings
                    {
                        shutterAngle  = settings.motionBlurShutterAngle,
                        sampleCount   = settings.motionBlurSampleCount,
                        frameBlending = settings.motionBlurFrameBlending
                    };

                    ___m_MotionBlur.model.settings = mSettings;
                }
                else
                {
                    ___m_MotionBlur.model.settings = defaultMotionBlurSettings;
                }

                if (enabled && settings.customDepthOfField)
                {
                    DepthOfFieldModel.Settings dSettings = new DepthOfFieldModel.Settings
                    {
                        focusDistance = settings.depthOfFieldFocusDistance,
                        aperture      = settings.depthOfFieldAperture,
                        focalLength   = settings.depthOfFieldFocalLength,
                        useCameraFov  = settings.depthOfFieldUseCameraFov,
                        kernelSize    = (DepthOfFieldModel.KernelSize)settings.depthOfFieldKernelSize,
                    };

                    ___m_DepthOfField.model.settings = dSettings;
                    ___m_DepthOfField.model.enabled  = true;
                }
                else
                {
                    ___m_DepthOfField.model.settings = defaultDepthOfFieldSettings;
                    ___m_DepthOfField.model.enabled  = false;
                }

                if (enabled && settings.customColorGrading)
                {
                    ColorGradingModel.TonemappingSettings ctSettings = new ColorGradingModel.TonemappingSettings
                    {
                        tonemapper        = (ColorGradingModel.Tonemapper)settings.colorGradingTonemapper,
                        neutralBlackIn    = settings.colorGradingNeutralBlackIn,
                        neutralWhiteIn    = settings.colorGradingNeutralWhiteIn,
                        neutralBlackOut   = settings.colorGradingNeutralBlackOut,
                        neutralWhiteOut   = settings.colorGradingNeutralWhiteOut,
                        neutralWhiteLevel = settings.colorGradingNeutralWhiteLevel,
                        neutralWhiteClip  = settings.colorGradingNeutralWhiteClip
                    };

                    ColorGradingModel.BasicSettings cbSettings = new ColorGradingModel.BasicSettings
                    {
                        postExposure = settings.colorGradingPostExposure,
                        temperature  = settings.colorGradingTemperature,
                        tint         = settings.colorGradingTint,
                        hueShift     = settings.colorGradingHueShift,
                        saturation   = settings.colorGradingSaturation,
                        contrast     = settings.colorGradingContrast
                    };

                    ColorGradingModel.Settings cSettings = new ColorGradingModel.Settings
                    {
                        tonemapping  = ctSettings,
                        basic        = cbSettings,
                        channelMixer = ___m_ColorGrading.model.settings.channelMixer,
                        colorWheels  = ___m_ColorGrading.model.settings.colorWheels,
                        curves       = ___m_ColorGrading.model.settings.curves
                    };

                    ___m_ColorGrading.model.settings = cSettings;
                }
                else
                {
                    ___m_ColorGrading.model.settings = defaultColorGradingSettings;
                }

                if (enabled && settings.customAO)
                {
                    AmbientOcclusionModel.Settings aSettings = new AmbientOcclusionModel.Settings
                    {
                        intensity    = settings.AOIntensity,
                        radius       = settings.AORadius,
                        sampleCount  = (AmbientOcclusionModel.SampleCount)sampleCounts.Values.ToArray()[settings.AOSampleCount],
                        downsampling = settings.AODownsampling,
                        forceForwardCompatibility = settings.AOForceForwardCompatibility,
                        ambientOnly   = settings.AOAmbientOnly,
                        highPrecision = settings.AOHighPrecision
                    };

                    ___m_AmbientOcclusion.model.settings = aSettings;
                }
                else
                {
                    ___m_AmbientOcclusion.model.settings = defaultAOSettings;
                }

                /*
                 *
                 * if(!defaultAASet)
                 * {
                 *  defaultAATaaSettings = ___m_Taa.model.settings;
                 *  defaultAAFxaaSettings = ___m_Fxaa.model.settings;
                 *  defaultAASet = true;
                 * }
                 *
                 * if (enabled && settings.customAA)
                 * {
                 *  AntialiasingModel.FxaaSettings afSettings = new AntialiasingModel.FxaaSettings
                 *  {
                 *      preset = (AntialiasingModel.FxaaPreset) settings.AAFxaaPreset
                 *  };
                 *
                 *  AntialiasingModel.TaaSettings atSettings = new AntialiasingModel.TaaSettings
                 *  {
                 *      jitterSpread = settings.AAJitterSpread,
                 *      sharpen = settings.AASharpen,
                 *      stationaryBlending = settings.AAStationaryBlending,
                 *      motionBlending = settings.AAMotionBlending
                 *
                 *  };
                 *
                 *  AntialiasingModel.Settings aSettings = new AntialiasingModel.Settings
                 *  {
                 *      //method = settings.AAMethodTaa?AntialiasingModel.Method.Taa: AntialiasingModel.Method.Fxaa,
                 *      method = ___m_Taa.model.settings.method,
                 *      fxaaSettings = afSettings,
                 *      taaSettings = atSettings
                 *  };
                 *
                 *  AntialiasingModel.Settings aSettings2 = new AntialiasingModel.Settings
                 *  {
                 *      //method = settings.AAMethodTaa?AntialiasingModel.Method.Taa: AntialiasingModel.Method.Fxaa,
                 *      method = ___m_Fxaa.model.settings.method,
                 *      fxaaSettings = afSettings,
                 *      taaSettings = atSettings
                 *  };
                 *
                 *  ___m_Taa.model.settings = aSettings;
                 *  ___m_Fxaa.model.settings = aSettings2;
                 * }
                 * else
                 * {
                 *  ___m_Taa.model.settings = defaultAATaaSettings;
                 *  ___m_Fxaa.model.settings = defaultAAFxaaSettings;
                 * }
                 */
            }