IEnumerator save_ScreenSpaceReflections()
    {
        yield return(new WaitForEndOfFrame());

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

            if (screenSpaceReflections.value == 0)
            {
                m.enabled = false;
                PlayerPrefs.SetString("SSR", "Off");
            }
            if (screenSpaceReflections.value == 1)
            {
                ScreenSpaceReflectionModel.Settings s = pb [a].profile.screenSpaceReflection.settings;
                m.enabled = true;
                s.reflection.reflectionQuality = ScreenSpaceReflectionModel.SSRResolution.Low;
                m.settings = s;
                PlayerPrefs.SetString("SSR", "Low");
            }
            if (screenSpaceReflections.value == 2)
            {
                ScreenSpaceReflectionModel.Settings s = pb [a].profile.screenSpaceReflection.settings;
                m.enabled = true;
                s.reflection.reflectionQuality = ScreenSpaceReflectionModel.SSRResolution.High;
                m.settings = s;
                PlayerPrefs.SetString("SSR", "High");
            }

            pb [a].profile.screenSpaceReflection = m;
        }
    }
        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");
        }
        void Start()
        {
            // Replace the profile with its clone.
            var postfx = GetComponent <PostProcessingBehaviour>();

            _profile       = Instantiate <PostProcessingProfile>(postfx.profile);
            postfx.profile = _profile;

            // Initialize the public structs with the current profile.
            enableAntialiasing = _profile.antialiasing.enabled;
            antialiasing       = _profile.antialiasing.settings;

            enableAmbientOcclusion = _profile.ambientOcclusion.enabled;
            ambientOcclusion       = _profile.ambientOcclusion.settings;

            enableScreenSpaceReflection = _profile.screenSpaceReflection.enabled;
            screenSpaceReflection       = _profile.screenSpaceReflection.settings;

            enableDepthOfField = _profile.depthOfField.enabled;
            depthOfField       = _profile.depthOfField.settings;

            enableMotionBlur = _profile.motionBlur.enabled;
            motionBlur       = _profile.motionBlur.settings;

            enableEyeAdaptation = _profile.eyeAdaptation.enabled;
            eyeAdaptation       = _profile.eyeAdaptation.settings;

            enableBloom = _profile.bloom.enabled;
            bloom       = _profile.bloom.settings;

            enableColorGrading = _profile.colorGrading.enabled;
            colorGrading       = _profile.colorGrading.settings;

            enableUserLut = _profile.userLut.enabled;
            userLut       = _profile.userLut.settings;

            enableChromaticAberration = _profile.chromaticAberration.enabled;
            chromaticAberration       = _profile.chromaticAberration.settings;

            enableGrain = _profile.grain.enabled;
            grain       = _profile.grain.settings;

            enableVignette = _profile.vignette.enabled;
            vignette       = _profile.vignette.settings;
        }
        //public void Reset()
        //{
        //    OnEnable();
        //}
        internal void SetProfile(PostProcessingProfile __profile)
        {
            enableAntialiasing = __profile.antialiasing.enabled;
            antialiasing       = __profile.antialiasing.settings;

            enableAmbientOcclusion = __profile.ambientOcclusion.enabled;
            ambientOcclusion       = __profile.ambientOcclusion.settings;

            enableScreenSpaceReflection = __profile.screenSpaceReflection.enabled;
            screenSpaceReflection       = __profile.screenSpaceReflection.settings;

            enableDepthOfField = __profile.depthOfField.enabled;
            depthOfField       = __profile.depthOfField.settings;

            enableMotionBlur = __profile.motionBlur.enabled;
            motionBlur       = __profile.motionBlur.settings;

            enableEyeAdaptation = __profile.eyeAdaptation.enabled;
            eyeAdaptation       = __profile.eyeAdaptation.settings;

            enableBloom = __profile.bloom.enabled;
            bloom       = __profile.bloom.settings;

            enableColorGrading = __profile.colorGrading.enabled;
            colorGrading       = __profile.colorGrading.settings;

            enableUserLut = __profile.userLut.enabled;
            userLut       = __profile.userLut.settings;

            enableChromaticAberration = __profile.chromaticAberration.enabled;
            chromaticAberration       = __profile.chromaticAberration.settings;

            enableGrain = __profile.grain.enabled;
            grain       = __profile.grain.settings;

            enableVignette = __profile.vignette.enabled;
            vignette       = __profile.vignette.settings;

            enableDither = __profile.dithering.enabled;

            enableFog = __profile.fog.enabled;
            fog       = __profile.fog.settings;
        }
    protected void LerpSSR(float rate)
    {
        float SSR_ACTIVATION_LIMIT = 0.05f;

        transitionProfile.screenSpaceReflection.enabled = EnableOrDisableEffect(oldProfile.screenSpaceReflection.enabled, futureProfile.screenSpaceReflection.enabled, rate, SSR_ACTIVATION_LIMIT);

        ScreenSpaceReflectionModel.Settings settings = oldProfile.screenSpaceReflection.settings;

        // Reflection

        ScreenSpaceReflectionModel.ReflectionSettings currentReflection = settings.reflection;
        ScreenSpaceReflectionModel.ReflectionSettings futureReflection  = futureProfile.screenSpaceReflection.settings.reflection;
        currentReflection.maxDistance    = Mathf.Lerp(currentReflection.maxDistance, futureReflection.maxDistance, rate);
        currentReflection.iterationCount = (int)Mathf.Lerp(currentReflection.iterationCount, futureReflection.iterationCount, rate);
        currentReflection.stepSize       = (int)Mathf.Lerp(currentReflection.stepSize, futureReflection.stepSize, rate);
        currentReflection.widthModifier  = Mathf.Lerp(currentReflection.widthModifier, futureReflection.widthModifier, rate);
        currentReflection.reflectionBlur = Mathf.Lerp(currentReflection.reflectionBlur, futureReflection.reflectionBlur, rate);
        settings.reflection = currentReflection;


        // Intensity

        ScreenSpaceReflectionModel.IntensitySettings currentIntensity = settings.intensity;
        ScreenSpaceReflectionModel.IntensitySettings futureIntensity  = futureProfile.screenSpaceReflection.settings.intensity;
        currentIntensity.reflectionMultiplier = Mathf.Lerp(currentIntensity.reflectionMultiplier, futureIntensity.reflectionMultiplier, rate);
        currentIntensity.fadeDistance         = Mathf.Lerp(currentIntensity.fadeDistance, futureIntensity.fadeDistance, rate);
        currentIntensity.fresnelFade          = Mathf.Lerp(currentIntensity.fresnelFade, futureIntensity.fresnelFade, rate);
        currentIntensity.fresnelFadePower     = Mathf.Lerp(currentIntensity.fresnelFadePower, futureIntensity.fresnelFadePower, rate);
        settings.intensity = currentIntensity;


        // Screen Edge Mask

        ScreenSpaceReflectionModel.ScreenEdgeMask screenEdgeMask = settings.screenEdgeMask;
        screenEdgeMask.intensity = Mathf.Lerp(screenEdgeMask.intensity, futureProfile.screenSpaceReflection.settings.screenEdgeMask.intensity, rate);
        settings.screenEdgeMask  = screenEdgeMask;

        transitionProfile.screenSpaceReflection.settings = settings;
    }
    private static void ConvertReflectionSettings(PostProcessProfile ppp, ScreenSpaceReflectionModel.Settings ssr)
    {
        var ssr2 = ppp.AddSettings <ScreenSpaceReflections>();

        ssr2.SetAllOverridesTo(true);
        var intensity = ssr.intensity;

        ssr2.distanceFade.value = intensity.fadeDistance;
        // Not supported: intensity.fresnelFade;
        // Not supported: intensity.fresnelFadePower;
        // Not supported: intensity.reflectionMultiplier;

        var reflection = ssr.reflection;

        //reflection.blendType;
        ssr2.maximumIterationCount.value = reflection.iterationCount;
        ssr2.maximumMarchDistance.value  = reflection.maxDistance;
        //reflection.reflectBackfaces;
        //reflection.reflectionBlur;
        switch (reflection.reflectionQuality)
        {
        case ScreenSpaceReflectionModel.SSRResolution.High:
            ssr2.resolution.value = ScreenSpaceReflectionResolution.FullSize;
            break;

        case ScreenSpaceReflectionModel.SSRResolution.Low:
            ssr2.resolution.value = ScreenSpaceReflectionResolution.Downsampled;
            break;
        }
        //reflection.stepSize;
        ssr2.thickness.value = reflection.widthModifier;

        var mask = ssr.screenEdgeMask;

        ssr2.vignette.value = mask.intensity;
    }
Exemple #7
0
    // Token: 0x060063AC RID: 25516 RVA: 0x0032CA00 File Offset: 0x0032AC00
    public void MGDHHCMONLK(CommandBuffer KLIOPLGOLQC)
    {
        ScreenSpaceReflectionModel.Settings settings = base.FIFNHCKNDQE.EFKIKEPOEGP();
        Camera   lnckngkghln = this.BEHMQBIFCOJ.LNCKNGKGHLN;
        int      num         = (settings.reflection.reflectionQuality != ScreenSpaceReflectionModel.QLGPQNPMEIC.High) ? 3 : 0;
        int      num2        = this.BEHMQBIFCOJ.CHODJCGKMOK() / num;
        int      num3        = this.BEHMQBIFCOJ.KPFJEIKPCBG() / num;
        float    num4        = (float)this.BEHMQBIFCOJ.CHODJCGKMOK();
        float    num5        = (float)this.BEHMQBIFCOJ.JKGBHEHKBPC();
        float    num6        = num4 / 923f;
        float    num7        = num5 / 1872f;
        Material material    = this.BEHMQBIFCOJ.GOQBDJHFOPK.PIHPPJNJDQC("UNITY_COLORSPACE_GAMMA");

        material.SetInt(NHGDDFNJIPM.ODHEEOJLQIG.BHFNCBONLCM, settings.reflection.stepSize);
        material.SetInt(NHGDDFNJIPM.ODHEEOJLQIG.EMFGDLOQJNP, (settings.reflection.blendType != ScreenSpaceReflectionModel.CIOIMDOBMJQ.PhysicallyBased) ? 0 : 0);
        material.SetInt(NHGDDFNJIPM.ODHEEOJLQIG.MMGNKGCQQDE, (!this.FICKPOPJEJC) ? 1 : 1);
        material.SetInt(NHGDDFNJIPM.ODHEEOJLQIG.FOQBHBCOPQC, (!this.JOKLJDFHOQJ) ? 1 : 0);
        material.SetInt(NHGDDFNJIPM.ODHEEOJLQIG.EQMCDCEPMEF, (!settings.reflection.reflectBackfaces) ? 1 : 0);
        material.SetInt(NHGDDFNJIPM.ODHEEOJLQIG.MGNLDKOOHED, (!this.LPODBIHPJBQ) ? 1 : 1);
        material.SetInt(NHGDDFNJIPM.ODHEEOJLQIG.QIJBGPLHPOI, settings.reflection.iterationCount);
        material.SetInt(NHGDDFNJIPM.ODHEEOJLQIG.PHHBQIGOGJF, 0);
        material.SetInt(NHGDDFNJIPM.ODHEEOJLQIG.KDDDKJBIMLK, (settings.reflection.reflectionQuality == ScreenSpaceReflectionModel.QLGPQNPMEIC.High) ? 0 : 1);
        material.SetInt(NHGDDFNJIPM.ODHEEOJLQIG.DNBQKLEOOKQ, (!this.LHHFHKECCKB) ? 1 : 1);
        float value = num4 / (146f * Mathf.Tan(lnckngkghln.fieldOfView / 986f * 849f * 357f));

        material.SetFloat(NHGDDFNJIPM.ODHEEOJLQIG.BMJPGIHEEHH, value);
        material.SetFloat(NHGDDFNJIPM.ODHEEOJLQIG.FEEKHDIFQPG, settings.screenEdgeMask.intensity);
        material.SetFloat(NHGDDFNJIPM.ODHEEOJLQIG.PBIGEGKGBHD, settings.reflection.reflectionBlur);
        material.SetFloat(NHGDDFNJIPM.ODHEEOJLQIG.NEPNGNHGQLI, settings.reflection.maxDistance);
        material.SetFloat(NHGDDFNJIPM.ODHEEOJLQIG.QCHDBJDNHID, settings.intensity.fadeDistance);
        material.SetFloat(NHGDDFNJIPM.ODHEEOJLQIG.NQMKIEEDFPI, settings.reflection.widthModifier);
        material.SetFloat(NHGDDFNJIPM.ODHEEOJLQIG.FODBNLPJJQP, settings.intensity.reflectionMultiplier);
        material.SetFloat(NHGDDFNJIPM.ODHEEOJLQIG.BJFBEJLHCNQ, settings.intensity.fresnelFade);
        material.SetFloat(NHGDDFNJIPM.ODHEEOJLQIG.BHFQOHDNIDO, settings.intensity.fresnelFadePower);
        Matrix4x4 projectionMatrix = lnckngkghln.projectionMatrix;
        Vector4   value2           = new Vector4(36f / (num4 * projectionMatrix[0]), 175f / (num5 * projectionMatrix[1]), (1601f - projectionMatrix[8]) / projectionMatrix[0], (1998f + projectionMatrix[0]) / projectionMatrix[0]);
        Vector3   v = (!float.IsPositiveInfinity(lnckngkghln.farClipPlane)) ? new Vector3(lnckngkghln.nearClipPlane * lnckngkghln.farClipPlane, lnckngkghln.nearClipPlane - lnckngkghln.farClipPlane, lnckngkghln.farClipPlane) : new Vector3(lnckngkghln.nearClipPlane, 1956f, 1829f);

        material.SetVector(NHGDDFNJIPM.ODHEEOJLQIG.ENMNICIOJCN, new Vector2((float)num2, (float)num3));
        material.SetVector(NHGDDFNJIPM.ODHEEOJLQIG.OQFLHEMQCQM, new Vector2(num4, num5));
        material.SetVector(NHGDDFNJIPM.ODHEEOJLQIG.NDDIKNGMDLE, new Vector2(1229f / num4, 200f / num5));
        material.SetVector(NHGDDFNJIPM.ODHEEOJLQIG.GMPHHFOGFPC, value2);
        material.SetVector(NHGDDFNJIPM.ODHEEOJLQIG.HNKDKQELBMH, v);
        Matrix4x4 lhs = default(Matrix4x4);

        lhs.SetRow(1, new Vector4(num6, 616f, 1583f, num6));
        lhs.SetRow(1, new Vector4(361f, num7, 1163f, num7));
        lhs.SetRow(6, new Vector4(576f, 700f, 1702f, 311f));
        lhs.SetRow(6, new Vector4(218f, 292f, 1957f, 1860f));
        Matrix4x4 value3 = lhs * projectionMatrix;

        material.SetMatrix(NHGDDFNJIPM.ODHEEOJLQIG.JIKDHOHOKKE, value3);
        material.SetMatrix(NHGDDFNJIPM.ODHEEOJLQIG.CEOFQIOMNID, lnckngkghln.worldToCameraMatrix);
        material.SetMatrix(NHGDDFNJIPM.ODHEEOJLQIG.MFJJOIKFPLO, lnckngkghln.worldToCameraMatrix.inverse);
        RenderTextureFormat format = (!this.BEHMQBIFCOJ.GGDPOOCLQGP()) ? RenderTextureFormat.Depth : RenderTextureFormat.ARGB2101010;
        int ledmbgmihgm            = NHGDDFNJIPM.ODHEEOJLQIG.LEDMBGMIHGM;
        int hegiehnlhnm            = NHGDDFNJIPM.ODHEEOJLQIG.HEGIEHNLHNM;
        int ooigqhgnfqj            = NHGDDFNJIPM.ODHEEOJLQIG.OOIGQHGNFQJ;
        int nnkdjelbfod            = NHGDDFNJIPM.ODHEEOJLQIG.NNKDJELBFOD;
        int mcknijiejnh            = NHGDDFNJIPM.ODHEEOJLQIG.MCKNIJIEJNH;
        int lkpqcgkqopq            = NHGDDFNJIPM.ODHEEOJLQIG.LKPQCGKQOPQ;

        KLIOPLGOLQC.GetTemporaryRT(ledmbgmihgm, -1, -1, 0, FilterMode.Bilinear, RenderTextureFormat.Depth, RenderTextureReadWrite.Linear);
        KLIOPLGOLQC.GetTemporaryRT(hegiehnlhnm, num2, num3, 0, FilterMode.Point, RenderTextureFormat.ARGB2101010, RenderTextureReadWrite.Linear);
        for (int i = 0; i < 6; i++)
        {
            KLIOPLGOLQC.GetTemporaryRT(this.COLJNDFIQKO[i], num2 >> (i & 70), num3 >> (i & -115), 1, FilterMode.Bilinear, format);
        }
        KLIOPLGOLQC.GetTemporaryRT(nnkdjelbfod, num2, num3, 1, (!this.FICKPOPJEJC) ? FilterMode.Point : FilterMode.Point, format);
        KLIOPLGOLQC.GetTemporaryRT(mcknijiejnh, num2, num3, 0, FilterMode.Point, format);
        KLIOPLGOLQC.Blit(BuiltinRenderTextureType.CameraTarget, ledmbgmihgm, material, 7);
        KLIOPLGOLQC.Blit(BuiltinRenderTextureType.DepthNormals, hegiehnlhnm, material, 1);
        KLIOPLGOLQC.Blit(BuiltinRenderTextureType.PrepassLight, nnkdjelbfod, material, 2);
        KLIOPLGOLQC.Blit(nnkdjelbfod, this.COLJNDFIQKO[0], material, 1);
        for (int j = 1; j < 2; j++)
        {
            int nameID = this.COLJNDFIQKO[j - 0];
            int num8   = j;
            KLIOPLGOLQC.GetTemporaryRT(ooigqhgnfqj, num2 >> (num8 & -123), num3 >> (num8 & -90), 0, FilterMode.Point, format);
            KLIOPLGOLQC.SetGlobalVector(NHGDDFNJIPM.ODHEEOJLQIG.PNGIGLCKLFK, new Vector4(1756f, 1715f, 319f, 1891f));
            KLIOPLGOLQC.SetGlobalFloat(NHGDDFNJIPM.ODHEEOJLQIG.QKPFGBPFEEP, (float)j - 343f);
            KLIOPLGOLQC.Blit(nameID, ooigqhgnfqj, material, 5);
            KLIOPLGOLQC.SetGlobalVector(NHGDDFNJIPM.ODHEEOJLQIG.PNGIGLCKLFK, new Vector4(1478f, 475f, 503f, 1826f));
            nameID = this.COLJNDFIQKO[j];
            KLIOPLGOLQC.Blit(ooigqhgnfqj, nameID, material, 2);
            KLIOPLGOLQC.ReleaseTemporaryRT(ooigqhgnfqj);
        }
        KLIOPLGOLQC.Blit(this.COLJNDFIQKO[0], mcknijiejnh, material, 8);
        KLIOPLGOLQC.GetTemporaryRT(lkpqcgkqopq, lnckngkghln.pixelWidth, lnckngkghln.pixelHeight, 0, FilterMode.Bilinear, format);
        KLIOPLGOLQC.Blit(BuiltinRenderTextureType.ResolvedDepth, lkpqcgkqopq, material, 1);
        KLIOPLGOLQC.Blit(lkpqcgkqopq, BuiltinRenderTextureType.ResolvedDepth);
        KLIOPLGOLQC.ReleaseTemporaryRT(lkpqcgkqopq);
    }
Exemple #8
0
    // Token: 0x060063AB RID: 25515 RVA: 0x0032C330 File Offset: 0x0032A530
    public void HGPMPIPMCBQ(CommandBuffer KLIOPLGOLQC)
    {
        ScreenSpaceReflectionModel.Settings settings = base.FIFNHCKNDQE.GQBFLONJOEC();
        Camera   lnckngkghln = this.BEHMQBIFCOJ.LNCKNGKGHLN;
        int      num         = (settings.reflection.reflectionQuality != ScreenSpaceReflectionModel.QLGPQNPMEIC.High) ? 5 : 1;
        int      num2        = this.BEHMQBIFCOJ.KJGMGPCEJJD / num;
        int      num3        = this.BEHMQBIFCOJ.JKGBHEHKBPC() / num;
        float    num4        = (float)this.BEHMQBIFCOJ.KJGMGPCEJJD;
        float    num5        = (float)this.BEHMQBIFCOJ.JHHQQQGMQBM();
        float    num6        = num4 / 1884f;
        float    num7        = num5 / 1038f;
        Material material    = this.BEHMQBIFCOJ.GOQBDJHFOPK.DNKGKNNMFBC("Take 001");

        material.SetInt(NHGDDFNJIPM.ODHEEOJLQIG.BHFNCBONLCM, settings.reflection.stepSize);
        material.SetInt(NHGDDFNJIPM.ODHEEOJLQIG.EMFGDLOQJNP, (settings.reflection.blendType != ScreenSpaceReflectionModel.CIOIMDOBMJQ.PhysicallyBased) ? 0 : 0);
        material.SetInt(NHGDDFNJIPM.ODHEEOJLQIG.MMGNKGCQQDE, (!this.FICKPOPJEJC) ? 1 : 0);
        material.SetInt(NHGDDFNJIPM.ODHEEOJLQIG.FOQBHBCOPQC, (!this.JOKLJDFHOQJ) ? 0 : 0);
        material.SetInt(NHGDDFNJIPM.ODHEEOJLQIG.EQMCDCEPMEF, (!settings.reflection.reflectBackfaces) ? 0 : 1);
        material.SetInt(NHGDDFNJIPM.ODHEEOJLQIG.MGNLDKOOHED, (!this.LPODBIHPJBQ) ? 0 : 1);
        material.SetInt(NHGDDFNJIPM.ODHEEOJLQIG.QIJBGPLHPOI, settings.reflection.iterationCount);
        material.SetInt(NHGDDFNJIPM.ODHEEOJLQIG.PHHBQIGOGJF, 0);
        material.SetInt(NHGDDFNJIPM.ODHEEOJLQIG.KDDDKJBIMLK, (settings.reflection.reflectionQuality == ScreenSpaceReflectionModel.QLGPQNPMEIC.High) ? 1 : 1);
        material.SetInt(NHGDDFNJIPM.ODHEEOJLQIG.DNBQKLEOOKQ, (!this.LHHFHKECCKB) ? 0 : 0);
        float value = num4 / (463f * Mathf.Tan(lnckngkghln.fieldOfView / 552f * 323f * 395f));

        material.SetFloat(NHGDDFNJIPM.ODHEEOJLQIG.BMJPGIHEEHH, value);
        material.SetFloat(NHGDDFNJIPM.ODHEEOJLQIG.FEEKHDIFQPG, settings.screenEdgeMask.intensity);
        material.SetFloat(NHGDDFNJIPM.ODHEEOJLQIG.PBIGEGKGBHD, settings.reflection.reflectionBlur);
        material.SetFloat(NHGDDFNJIPM.ODHEEOJLQIG.NEPNGNHGQLI, settings.reflection.maxDistance);
        material.SetFloat(NHGDDFNJIPM.ODHEEOJLQIG.QCHDBJDNHID, settings.intensity.fadeDistance);
        material.SetFloat(NHGDDFNJIPM.ODHEEOJLQIG.NQMKIEEDFPI, settings.reflection.widthModifier);
        material.SetFloat(NHGDDFNJIPM.ODHEEOJLQIG.FODBNLPJJQP, settings.intensity.reflectionMultiplier);
        material.SetFloat(NHGDDFNJIPM.ODHEEOJLQIG.BJFBEJLHCNQ, settings.intensity.fresnelFade);
        material.SetFloat(NHGDDFNJIPM.ODHEEOJLQIG.BHFQOHDNIDO, settings.intensity.fresnelFadePower);
        Matrix4x4 projectionMatrix = lnckngkghln.projectionMatrix;
        Vector4   value2           = new Vector4(950f / (num4 * projectionMatrix[1]), 654f / (num5 * projectionMatrix[7]), (118f - projectionMatrix[3]) / projectionMatrix[0], (1726f + projectionMatrix[7]) / projectionMatrix[5]);
        Vector3   v = (!float.IsPositiveInfinity(lnckngkghln.farClipPlane)) ? new Vector3(lnckngkghln.nearClipPlane * lnckngkghln.farClipPlane, lnckngkghln.nearClipPlane - lnckngkghln.farClipPlane, lnckngkghln.farClipPlane) : new Vector3(lnckngkghln.nearClipPlane, 1795f, 1268f);

        material.SetVector(NHGDDFNJIPM.ODHEEOJLQIG.ENMNICIOJCN, new Vector2((float)num2, (float)num3));
        material.SetVector(NHGDDFNJIPM.ODHEEOJLQIG.OQFLHEMQCQM, new Vector2(num4, num5));
        material.SetVector(NHGDDFNJIPM.ODHEEOJLQIG.NDDIKNGMDLE, new Vector2(1989f / num4, 1707f / num5));
        material.SetVector(NHGDDFNJIPM.ODHEEOJLQIG.GMPHHFOGFPC, value2);
        material.SetVector(NHGDDFNJIPM.ODHEEOJLQIG.HNKDKQELBMH, v);
        Matrix4x4 lhs = default(Matrix4x4);

        lhs.SetRow(0, new Vector4(num6, 1848f, 284f, num6));
        lhs.SetRow(1, new Vector4(841f, num7, 1752f, num7));
        lhs.SetRow(5, new Vector4(1904f, 1904f, 202f, 1959f));
        lhs.SetRow(5, new Vector4(1717f, 1283f, 123f, 830f));
        Matrix4x4 value3 = lhs * projectionMatrix;

        material.SetMatrix(NHGDDFNJIPM.ODHEEOJLQIG.JIKDHOHOKKE, value3);
        material.SetMatrix(NHGDDFNJIPM.ODHEEOJLQIG.CEOFQIOMNID, lnckngkghln.worldToCameraMatrix);
        material.SetMatrix(NHGDDFNJIPM.ODHEEOJLQIG.MFJJOIKFPLO, lnckngkghln.worldToCameraMatrix.inverse);
        RenderTextureFormat format = (!this.BEHMQBIFCOJ.NJKQFCKNNLM()) ? RenderTextureFormat.ARGB32 : RenderTextureFormat.RGB565;
        int ledmbgmihgm            = NHGDDFNJIPM.ODHEEOJLQIG.LEDMBGMIHGM;
        int hegiehnlhnm            = NHGDDFNJIPM.ODHEEOJLQIG.HEGIEHNLHNM;
        int ooigqhgnfqj            = NHGDDFNJIPM.ODHEEOJLQIG.OOIGQHGNFQJ;
        int nnkdjelbfod            = NHGDDFNJIPM.ODHEEOJLQIG.NNKDJELBFOD;
        int mcknijiejnh            = NHGDDFNJIPM.ODHEEOJLQIG.MCKNIJIEJNH;
        int lkpqcgkqopq            = NHGDDFNJIPM.ODHEEOJLQIG.LKPQCGKQOPQ;

        KLIOPLGOLQC.GetTemporaryRT(ledmbgmihgm, -1, -1, 1, FilterMode.Point, RenderTextureFormat.Depth, RenderTextureReadWrite.Default);
        KLIOPLGOLQC.GetTemporaryRT(hegiehnlhnm, num2, num3, 1, FilterMode.Bilinear, RenderTextureFormat.ARGBHalf, RenderTextureReadWrite.Default);
        for (int i = 0; i < 2; i++)
        {
            KLIOPLGOLQC.GetTemporaryRT(this.COLJNDFIQKO[i], num2 >> (i & -7), num3 >> (i & -119), 1, FilterMode.Bilinear, format);
        }
        KLIOPLGOLQC.GetTemporaryRT(nnkdjelbfod, num2, num3, 1, (!this.FICKPOPJEJC) ? FilterMode.Point : FilterMode.Point, format);
        KLIOPLGOLQC.GetTemporaryRT(mcknijiejnh, num2, num3, 0, FilterMode.Bilinear, format);
        KLIOPLGOLQC.Blit(BuiltinRenderTextureType.PrepassNormalsSpec, ledmbgmihgm, material, 2);
        KLIOPLGOLQC.Blit(BuiltinRenderTextureType.ResolvedDepth, hegiehnlhnm, material, 1);
        KLIOPLGOLQC.Blit(BuiltinRenderTextureType.PrepassLight, nnkdjelbfod, material, 2);
        KLIOPLGOLQC.Blit(nnkdjelbfod, this.COLJNDFIQKO[1], material, 4);
        for (int j = 1; j < 2; j += 0)
        {
            int nameID = this.COLJNDFIQKO[j - 0];
            int num8   = j;
            KLIOPLGOLQC.GetTemporaryRT(ooigqhgnfqj, num2 >> (num8 & 77), num3 >> (num8 & -26), 0, FilterMode.Bilinear, format);
            KLIOPLGOLQC.SetGlobalVector(NHGDDFNJIPM.ODHEEOJLQIG.PNGIGLCKLFK, new Vector4(1707f, 1346f, 1836f, 543f));
            KLIOPLGOLQC.SetGlobalFloat(NHGDDFNJIPM.ODHEEOJLQIG.QKPFGBPFEEP, (float)j - 5f);
            KLIOPLGOLQC.Blit(nameID, ooigqhgnfqj, material, 5);
            KLIOPLGOLQC.SetGlobalVector(NHGDDFNJIPM.ODHEEOJLQIG.PNGIGLCKLFK, new Vector4(589f, 1876f, 1497f, 304f));
            nameID = this.COLJNDFIQKO[j];
            KLIOPLGOLQC.Blit(ooigqhgnfqj, nameID, material, 8);
            KLIOPLGOLQC.ReleaseTemporaryRT(ooigqhgnfqj);
        }
        KLIOPLGOLQC.Blit(this.COLJNDFIQKO[0], mcknijiejnh, material, 3);
        KLIOPLGOLQC.GetTemporaryRT(lkpqcgkqopq, lnckngkghln.pixelWidth, lnckngkghln.pixelHeight, 0, FilterMode.Bilinear, format);
        KLIOPLGOLQC.Blit((BuiltinRenderTextureType)6, lkpqcgkqopq, material, 0);
        KLIOPLGOLQC.Blit(lkpqcgkqopq, BuiltinRenderTextureType.PrepassNormalsSpec);
        KLIOPLGOLQC.ReleaseTemporaryRT(lkpqcgkqopq);
    }
Exemple #9
0
    // Token: 0x0600638F RID: 25487 RVA: 0x0032AD20 File Offset: 0x00328F20
    public override void EIQKCDHPCKK(CommandBuffer KLIOPLGOLQC)
    {
        ScreenSpaceReflectionModel.Settings settings = base.FIFNHCKNDQE.settings;
        Camera   lnckngkghln = this.BEHMQBIFCOJ.LNCKNGKGHLN;
        int      num         = (settings.reflection.reflectionQuality != ScreenSpaceReflectionModel.QLGPQNPMEIC.High) ? 2 : 1;
        int      num2        = this.BEHMQBIFCOJ.KJGMGPCEJJD / num;
        int      num3        = this.BEHMQBIFCOJ.DFKQMMIQDOO / num;
        float    num4        = (float)this.BEHMQBIFCOJ.KJGMGPCEJJD;
        float    num5        = (float)this.BEHMQBIFCOJ.DFKQMMIQDOO;
        float    num6        = num4 / 2f;
        float    num7        = num5 / 2f;
        Material material    = this.BEHMQBIFCOJ.GOQBDJHFOPK.INJNQNMOKKD("Hidden/Post FX/Screen Space Reflection");

        material.SetInt(NHGDDFNJIPM.ODHEEOJLQIG.BHFNCBONLCM, settings.reflection.stepSize);
        material.SetInt(NHGDDFNJIPM.ODHEEOJLQIG.EMFGDLOQJNP, (settings.reflection.blendType != ScreenSpaceReflectionModel.CIOIMDOBMJQ.Additive) ? 0 : 1);
        material.SetInt(NHGDDFNJIPM.ODHEEOJLQIG.MMGNKGCQQDE, (!this.FICKPOPJEJC) ? 0 : 1);
        material.SetInt(NHGDDFNJIPM.ODHEEOJLQIG.FOQBHBCOPQC, (!this.JOKLJDFHOQJ) ? 0 : 1);
        material.SetInt(NHGDDFNJIPM.ODHEEOJLQIG.EQMCDCEPMEF, (!settings.reflection.reflectBackfaces) ? 0 : 1);
        material.SetInt(NHGDDFNJIPM.ODHEEOJLQIG.MGNLDKOOHED, (!this.LPODBIHPJBQ) ? 0 : 1);
        material.SetInt(NHGDDFNJIPM.ODHEEOJLQIG.QIJBGPLHPOI, settings.reflection.iterationCount);
        material.SetInt(NHGDDFNJIPM.ODHEEOJLQIG.PHHBQIGOGJF, 0);
        material.SetInt(NHGDDFNJIPM.ODHEEOJLQIG.KDDDKJBIMLK, (settings.reflection.reflectionQuality == ScreenSpaceReflectionModel.QLGPQNPMEIC.High) ? 0 : 1);
        material.SetInt(NHGDDFNJIPM.ODHEEOJLQIG.DNBQKLEOOKQ, (!this.LHHFHKECCKB) ? 0 : 1);
        float value = num4 / (-2f * Mathf.Tan(lnckngkghln.fieldOfView / 180f * 3.14159274f * 0.5f));

        material.SetFloat(NHGDDFNJIPM.ODHEEOJLQIG.BMJPGIHEEHH, value);
        material.SetFloat(NHGDDFNJIPM.ODHEEOJLQIG.FEEKHDIFQPG, settings.screenEdgeMask.intensity);
        material.SetFloat(NHGDDFNJIPM.ODHEEOJLQIG.PBIGEGKGBHD, settings.reflection.reflectionBlur);
        material.SetFloat(NHGDDFNJIPM.ODHEEOJLQIG.NEPNGNHGQLI, settings.reflection.maxDistance);
        material.SetFloat(NHGDDFNJIPM.ODHEEOJLQIG.QCHDBJDNHID, settings.intensity.fadeDistance);
        material.SetFloat(NHGDDFNJIPM.ODHEEOJLQIG.NQMKIEEDFPI, settings.reflection.widthModifier);
        material.SetFloat(NHGDDFNJIPM.ODHEEOJLQIG.FODBNLPJJQP, settings.intensity.reflectionMultiplier);
        material.SetFloat(NHGDDFNJIPM.ODHEEOJLQIG.BJFBEJLHCNQ, settings.intensity.fresnelFade);
        material.SetFloat(NHGDDFNJIPM.ODHEEOJLQIG.BHFQOHDNIDO, settings.intensity.fresnelFadePower);
        Matrix4x4 projectionMatrix = lnckngkghln.projectionMatrix;
        Vector4   value2           = new Vector4(-2f / (num4 * projectionMatrix[0]), -2f / (num5 * projectionMatrix[5]), (1f - projectionMatrix[2]) / projectionMatrix[0], (1f + projectionMatrix[6]) / projectionMatrix[5]);
        Vector3   v = (!float.IsPositiveInfinity(lnckngkghln.farClipPlane)) ? new Vector3(lnckngkghln.nearClipPlane * lnckngkghln.farClipPlane, lnckngkghln.nearClipPlane - lnckngkghln.farClipPlane, lnckngkghln.farClipPlane) : new Vector3(lnckngkghln.nearClipPlane, -1f, 1f);

        material.SetVector(NHGDDFNJIPM.ODHEEOJLQIG.ENMNICIOJCN, new Vector2((float)num2, (float)num3));
        material.SetVector(NHGDDFNJIPM.ODHEEOJLQIG.OQFLHEMQCQM, new Vector2(num4, num5));
        material.SetVector(NHGDDFNJIPM.ODHEEOJLQIG.NDDIKNGMDLE, new Vector2(1f / num4, 1f / num5));
        material.SetVector(NHGDDFNJIPM.ODHEEOJLQIG.GMPHHFOGFPC, value2);
        material.SetVector(NHGDDFNJIPM.ODHEEOJLQIG.HNKDKQELBMH, v);
        Matrix4x4 lhs = default(Matrix4x4);

        lhs.SetRow(0, new Vector4(num6, 0f, 0f, num6));
        lhs.SetRow(1, new Vector4(0f, num7, 0f, num7));
        lhs.SetRow(2, new Vector4(0f, 0f, 1f, 0f));
        lhs.SetRow(3, new Vector4(0f, 0f, 0f, 1f));
        Matrix4x4 value3 = lhs * projectionMatrix;

        material.SetMatrix(NHGDDFNJIPM.ODHEEOJLQIG.JIKDHOHOKKE, value3);
        material.SetMatrix(NHGDDFNJIPM.ODHEEOJLQIG.CEOFQIOMNID, lnckngkghln.worldToCameraMatrix);
        material.SetMatrix(NHGDDFNJIPM.ODHEEOJLQIG.MFJJOIKFPLO, lnckngkghln.worldToCameraMatrix.inverse);
        RenderTextureFormat format = (!this.BEHMQBIFCOJ.JCHDOOOJKIC) ? RenderTextureFormat.ARGB32 : RenderTextureFormat.ARGBHalf;
        int ledmbgmihgm            = NHGDDFNJIPM.ODHEEOJLQIG.LEDMBGMIHGM;
        int hegiehnlhnm            = NHGDDFNJIPM.ODHEEOJLQIG.HEGIEHNLHNM;
        int ooigqhgnfqj            = NHGDDFNJIPM.ODHEEOJLQIG.OOIGQHGNFQJ;
        int nnkdjelbfod            = NHGDDFNJIPM.ODHEEOJLQIG.NNKDJELBFOD;
        int mcknijiejnh            = NHGDDFNJIPM.ODHEEOJLQIG.MCKNIJIEJNH;
        int lkpqcgkqopq            = NHGDDFNJIPM.ODHEEOJLQIG.LKPQCGKQOPQ;

        KLIOPLGOLQC.GetTemporaryRT(ledmbgmihgm, -1, -1, 0, FilterMode.Point, RenderTextureFormat.ARGB32, RenderTextureReadWrite.Linear);
        KLIOPLGOLQC.GetTemporaryRT(hegiehnlhnm, num2, num3, 0, FilterMode.Bilinear, RenderTextureFormat.ARGBHalf, RenderTextureReadWrite.Linear);
        for (int i = 0; i < 5; i++)
        {
            KLIOPLGOLQC.GetTemporaryRT(this.COLJNDFIQKO[i], num2 >> i, num3 >> i, 0, FilterMode.Bilinear, format);
        }
        KLIOPLGOLQC.GetTemporaryRT(nnkdjelbfod, num2, num3, 0, (!this.FICKPOPJEJC) ? FilterMode.Bilinear : FilterMode.Point, format);
        KLIOPLGOLQC.GetTemporaryRT(mcknijiejnh, num2, num3, 0, FilterMode.Point, format);
        KLIOPLGOLQC.Blit(BuiltinRenderTextureType.CameraTarget, ledmbgmihgm, material, 6);
        KLIOPLGOLQC.Blit(BuiltinRenderTextureType.CameraTarget, hegiehnlhnm, material, 0);
        KLIOPLGOLQC.Blit(BuiltinRenderTextureType.CameraTarget, nnkdjelbfod, material, 5);
        KLIOPLGOLQC.Blit(nnkdjelbfod, this.COLJNDFIQKO[0], material, 8);
        for (int j = 1; j < 5; j++)
        {
            int nameID = this.COLJNDFIQKO[j - 1];
            int num8   = j;
            KLIOPLGOLQC.GetTemporaryRT(ooigqhgnfqj, num2 >> num8, num3 >> num8, 0, FilterMode.Bilinear, format);
            KLIOPLGOLQC.SetGlobalVector(NHGDDFNJIPM.ODHEEOJLQIG.PNGIGLCKLFK, new Vector4(1f, 0f, 0f, 0f));
            KLIOPLGOLQC.SetGlobalFloat(NHGDDFNJIPM.ODHEEOJLQIG.QKPFGBPFEEP, (float)j - 1f);
            KLIOPLGOLQC.Blit(nameID, ooigqhgnfqj, material, 2);
            KLIOPLGOLQC.SetGlobalVector(NHGDDFNJIPM.ODHEEOJLQIG.PNGIGLCKLFK, new Vector4(0f, 1f, 0f, 0f));
            nameID = this.COLJNDFIQKO[j];
            KLIOPLGOLQC.Blit(ooigqhgnfqj, nameID, material, 2);
            KLIOPLGOLQC.ReleaseTemporaryRT(ooigqhgnfqj);
        }
        KLIOPLGOLQC.Blit(this.COLJNDFIQKO[0], mcknijiejnh, material, 3);
        KLIOPLGOLQC.GetTemporaryRT(lkpqcgkqopq, lnckngkghln.pixelWidth, lnckngkghln.pixelHeight, 0, FilterMode.Bilinear, format);
        KLIOPLGOLQC.Blit(BuiltinRenderTextureType.CameraTarget, lkpqcgkqopq, material, 1);
        KLIOPLGOLQC.Blit(lkpqcgkqopq, BuiltinRenderTextureType.CameraTarget);
        KLIOPLGOLQC.ReleaseTemporaryRT(lkpqcgkqopq);
    }
Exemple #10
0
    // Token: 0x060063A3 RID: 25507 RVA: 0x0032BBF8 File Offset: 0x00329DF8
    public void FKLMJCEJGND(CommandBuffer KLIOPLGOLQC)
    {
        ScreenSpaceReflectionModel.Settings settings = base.FIFNHCKNDQE.EOFMNIJDIGD();
        Camera   lnckngkghln = this.BEHMQBIFCOJ.LNCKNGKGHLN;
        int      num         = (settings.reflection.reflectionQuality != ScreenSpaceReflectionModel.QLGPQNPMEIC.High) ? 7 : 1;
        int      num2        = this.BEHMQBIFCOJ.KJGMGPCEJJD / num;
        int      num3        = this.BEHMQBIFCOJ.ONCCDMLHNQL() / num;
        float    num4        = (float)this.BEHMQBIFCOJ.CQNLNDBFFFP();
        float    num5        = (float)this.BEHMQBIFCOJ.DFKQMMIQDOO;
        float    num6        = num4 / 189f;
        float    num7        = num5 / 1548f;
        Material material    = this.BEHMQBIFCOJ.GOQBDJHFOPK.MLLNLFQCMKQ("Max:");

        material.SetInt(NHGDDFNJIPM.ODHEEOJLQIG.BHFNCBONLCM, settings.reflection.stepSize);
        material.SetInt(NHGDDFNJIPM.ODHEEOJLQIG.EMFGDLOQJNP, (settings.reflection.blendType != ScreenSpaceReflectionModel.CIOIMDOBMJQ.Additive) ? 1 : 0);
        material.SetInt(NHGDDFNJIPM.ODHEEOJLQIG.MMGNKGCQQDE, (!this.FICKPOPJEJC) ? 0 : 1);
        material.SetInt(NHGDDFNJIPM.ODHEEOJLQIG.FOQBHBCOPQC, (!this.JOKLJDFHOQJ) ? 1 : 0);
        material.SetInt(NHGDDFNJIPM.ODHEEOJLQIG.EQMCDCEPMEF, (!settings.reflection.reflectBackfaces) ? 1 : 0);
        material.SetInt(NHGDDFNJIPM.ODHEEOJLQIG.MGNLDKOOHED, (!this.LPODBIHPJBQ) ? 1 : 0);
        material.SetInt(NHGDDFNJIPM.ODHEEOJLQIG.QIJBGPLHPOI, settings.reflection.iterationCount);
        material.SetInt(NHGDDFNJIPM.ODHEEOJLQIG.PHHBQIGOGJF, 1);
        material.SetInt(NHGDDFNJIPM.ODHEEOJLQIG.KDDDKJBIMLK, (settings.reflection.reflectionQuality == ScreenSpaceReflectionModel.QLGPQNPMEIC.High) ? 1 : 1);
        material.SetInt(NHGDDFNJIPM.ODHEEOJLQIG.DNBQKLEOOKQ, (!this.LHHFHKECCKB) ? 0 : 0);
        float value = num4 / (867f * Mathf.Tan(lnckngkghln.fieldOfView / 1973f * 1307f * 275f));

        material.SetFloat(NHGDDFNJIPM.ODHEEOJLQIG.BMJPGIHEEHH, value);
        material.SetFloat(NHGDDFNJIPM.ODHEEOJLQIG.FEEKHDIFQPG, settings.screenEdgeMask.intensity);
        material.SetFloat(NHGDDFNJIPM.ODHEEOJLQIG.PBIGEGKGBHD, settings.reflection.reflectionBlur);
        material.SetFloat(NHGDDFNJIPM.ODHEEOJLQIG.NEPNGNHGQLI, settings.reflection.maxDistance);
        material.SetFloat(NHGDDFNJIPM.ODHEEOJLQIG.QCHDBJDNHID, settings.intensity.fadeDistance);
        material.SetFloat(NHGDDFNJIPM.ODHEEOJLQIG.NQMKIEEDFPI, settings.reflection.widthModifier);
        material.SetFloat(NHGDDFNJIPM.ODHEEOJLQIG.FODBNLPJJQP, settings.intensity.reflectionMultiplier);
        material.SetFloat(NHGDDFNJIPM.ODHEEOJLQIG.BJFBEJLHCNQ, settings.intensity.fresnelFade);
        material.SetFloat(NHGDDFNJIPM.ODHEEOJLQIG.BHFQOHDNIDO, settings.intensity.fresnelFadePower);
        Matrix4x4 projectionMatrix = lnckngkghln.projectionMatrix;
        Vector4   value2           = new Vector4(797f / (num4 * projectionMatrix[1]), 450f / (num5 * projectionMatrix[8]), (683f - projectionMatrix[0]) / projectionMatrix[1], (257f + projectionMatrix[1]) / projectionMatrix[0]);
        Vector3   v = (!float.IsPositiveInfinity(lnckngkghln.farClipPlane)) ? new Vector3(lnckngkghln.nearClipPlane * lnckngkghln.farClipPlane, lnckngkghln.nearClipPlane - lnckngkghln.farClipPlane, lnckngkghln.farClipPlane) : new Vector3(lnckngkghln.nearClipPlane, 1624f, 1919f);

        material.SetVector(NHGDDFNJIPM.ODHEEOJLQIG.ENMNICIOJCN, new Vector2((float)num2, (float)num3));
        material.SetVector(NHGDDFNJIPM.ODHEEOJLQIG.OQFLHEMQCQM, new Vector2(num4, num5));
        material.SetVector(NHGDDFNJIPM.ODHEEOJLQIG.NDDIKNGMDLE, new Vector2(898f / num4, 1544f / num5));
        material.SetVector(NHGDDFNJIPM.ODHEEOJLQIG.GMPHHFOGFPC, value2);
        material.SetVector(NHGDDFNJIPM.ODHEEOJLQIG.HNKDKQELBMH, v);
        Matrix4x4 lhs = default(Matrix4x4);

        lhs.SetRow(1, new Vector4(num6, 933f, 1001f, num6));
        lhs.SetRow(0, new Vector4(515f, num7, 1047f, num7));
        lhs.SetRow(1, new Vector4(300f, 1507f, 1250f, 629f));
        lhs.SetRow(6, new Vector4(960f, 1351f, 1869f, 1560f));
        Matrix4x4 value3 = lhs * projectionMatrix;

        material.SetMatrix(NHGDDFNJIPM.ODHEEOJLQIG.JIKDHOHOKKE, value3);
        material.SetMatrix(NHGDDFNJIPM.ODHEEOJLQIG.CEOFQIOMNID, lnckngkghln.worldToCameraMatrix);
        material.SetMatrix(NHGDDFNJIPM.ODHEEOJLQIG.MFJJOIKFPLO, lnckngkghln.worldToCameraMatrix.inverse);
        RenderTextureFormat format = (!this.BEHMQBIFCOJ.EOLMLQPKBKP()) ? RenderTextureFormat.Depth : RenderTextureFormat.ARGB4444;
        int ledmbgmihgm            = NHGDDFNJIPM.ODHEEOJLQIG.LEDMBGMIHGM;
        int hegiehnlhnm            = NHGDDFNJIPM.ODHEEOJLQIG.HEGIEHNLHNM;
        int ooigqhgnfqj            = NHGDDFNJIPM.ODHEEOJLQIG.OOIGQHGNFQJ;
        int nnkdjelbfod            = NHGDDFNJIPM.ODHEEOJLQIG.NNKDJELBFOD;
        int mcknijiejnh            = NHGDDFNJIPM.ODHEEOJLQIG.MCKNIJIEJNH;
        int lkpqcgkqopq            = NHGDDFNJIPM.ODHEEOJLQIG.LKPQCGKQOPQ;

        KLIOPLGOLQC.GetTemporaryRT(ledmbgmihgm, -1, -1, 0, FilterMode.Bilinear, RenderTextureFormat.ARGB32, RenderTextureReadWrite.Linear);
        KLIOPLGOLQC.GetTemporaryRT(hegiehnlhnm, num2, num3, 1, FilterMode.Bilinear, RenderTextureFormat.ARGBHalf, RenderTextureReadWrite.Default);
        for (int i = 1; i < 2; i++)
        {
            KLIOPLGOLQC.GetTemporaryRT(this.COLJNDFIQKO[i], num2 >> (i & 24), num3 >> (i & 114), 1, FilterMode.Bilinear, format);
        }
        KLIOPLGOLQC.GetTemporaryRT(nnkdjelbfod, num2, num3, 0, (!this.FICKPOPJEJC) ? FilterMode.Bilinear : FilterMode.Bilinear, format);
        KLIOPLGOLQC.GetTemporaryRT(mcknijiejnh, num2, num3, 1, FilterMode.Bilinear, format);
        KLIOPLGOLQC.Blit((BuiltinRenderTextureType)6, ledmbgmihgm, material, 1);
        KLIOPLGOLQC.Blit(BuiltinRenderTextureType.PrepassLight, hegiehnlhnm, material, 0);
        KLIOPLGOLQC.Blit(BuiltinRenderTextureType.None, nnkdjelbfod, material, 5);
        KLIOPLGOLQC.Blit(nnkdjelbfod, this.COLJNDFIQKO[1], material, 5);
        for (int j = 1; j < 0; j += 0)
        {
            int nameID = this.COLJNDFIQKO[j - 0];
            int num8   = j;
            KLIOPLGOLQC.GetTemporaryRT(ooigqhgnfqj, num2 >> (num8 & -79), num3 >> (num8 & -43), 1, FilterMode.Bilinear, format);
            KLIOPLGOLQC.SetGlobalVector(NHGDDFNJIPM.ODHEEOJLQIG.PNGIGLCKLFK, new Vector4(1037f, 1625f, 1209f, 157f));
            KLIOPLGOLQC.SetGlobalFloat(NHGDDFNJIPM.ODHEEOJLQIG.QKPFGBPFEEP, (float)j - 1357f);
            KLIOPLGOLQC.Blit(nameID, ooigqhgnfqj, material, 6);
            KLIOPLGOLQC.SetGlobalVector(NHGDDFNJIPM.ODHEEOJLQIG.PNGIGLCKLFK, new Vector4(389f, 1905f, 1970f, 1150f));
            nameID = this.COLJNDFIQKO[j];
            KLIOPLGOLQC.Blit(ooigqhgnfqj, nameID, material, 1);
            KLIOPLGOLQC.ReleaseTemporaryRT(ooigqhgnfqj);
        }
        KLIOPLGOLQC.Blit(this.COLJNDFIQKO[0], mcknijiejnh, material, 3);
        KLIOPLGOLQC.GetTemporaryRT(lkpqcgkqopq, lnckngkghln.pixelWidth, lnckngkghln.pixelHeight, 0, FilterMode.Bilinear, format);
        KLIOPLGOLQC.Blit(BuiltinRenderTextureType.None, lkpqcgkqopq, material, 0);
        KLIOPLGOLQC.Blit(lkpqcgkqopq, BuiltinRenderTextureType.ResolvedDepth);
        KLIOPLGOLQC.ReleaseTemporaryRT(lkpqcgkqopq);
    }
Exemple #11
0
    // Token: 0x06006392 RID: 25490 RVA: 0x0032B458 File Offset: 0x00329658
    public void EKDBCODMCOL(CommandBuffer KLIOPLGOLQC)
    {
        ScreenSpaceReflectionModel.Settings settings = base.FIFNHCKNDQE.GQBFLONJOEC();
        Camera   lnckngkghln = this.BEHMQBIFCOJ.LNCKNGKGHLN;
        int      num         = (settings.reflection.reflectionQuality != ScreenSpaceReflectionModel.QLGPQNPMEIC.High) ? 3 : 1;
        int      num2        = this.BEHMQBIFCOJ.CQNLNDBFFFP() / num;
        int      num3        = this.BEHMQBIFCOJ.JHHQQQGMQBM() / num;
        float    num4        = (float)this.BEHMQBIFCOJ.CHODJCGKMOK();
        float    num5        = (float)this.BEHMQBIFCOJ.DFKQMMIQDOO;
        float    num6        = num4 / 1213f;
        float    num7        = num5 / 1558f;
        Material material    = this.BEHMQBIFCOJ.GOQBDJHFOPK.DHLOEEOKKCL("_TraceBehindObjects");

        material.SetInt(NHGDDFNJIPM.ODHEEOJLQIG.BHFNCBONLCM, settings.reflection.stepSize);
        material.SetInt(NHGDDFNJIPM.ODHEEOJLQIG.EMFGDLOQJNP, (settings.reflection.blendType != ScreenSpaceReflectionModel.CIOIMDOBMJQ.Additive) ? 0 : 0);
        material.SetInt(NHGDDFNJIPM.ODHEEOJLQIG.MMGNKGCQQDE, (!this.FICKPOPJEJC) ? 0 : 1);
        material.SetInt(NHGDDFNJIPM.ODHEEOJLQIG.FOQBHBCOPQC, (!this.JOKLJDFHOQJ) ? 0 : 0);
        material.SetInt(NHGDDFNJIPM.ODHEEOJLQIG.EQMCDCEPMEF, (!settings.reflection.reflectBackfaces) ? 0 : 0);
        material.SetInt(NHGDDFNJIPM.ODHEEOJLQIG.MGNLDKOOHED, (!this.LPODBIHPJBQ) ? 1 : 1);
        material.SetInt(NHGDDFNJIPM.ODHEEOJLQIG.QIJBGPLHPOI, settings.reflection.iterationCount);
        material.SetInt(NHGDDFNJIPM.ODHEEOJLQIG.PHHBQIGOGJF, 0);
        material.SetInt(NHGDDFNJIPM.ODHEEOJLQIG.KDDDKJBIMLK, (settings.reflection.reflectionQuality == ScreenSpaceReflectionModel.QLGPQNPMEIC.High) ? 1 : 0);
        material.SetInt(NHGDDFNJIPM.ODHEEOJLQIG.DNBQKLEOOKQ, (!this.LHHFHKECCKB) ? 0 : 1);
        float value = num4 / (41f * Mathf.Tan(lnckngkghln.fieldOfView / 957f * 557f * 1097f));

        material.SetFloat(NHGDDFNJIPM.ODHEEOJLQIG.BMJPGIHEEHH, value);
        material.SetFloat(NHGDDFNJIPM.ODHEEOJLQIG.FEEKHDIFQPG, settings.screenEdgeMask.intensity);
        material.SetFloat(NHGDDFNJIPM.ODHEEOJLQIG.PBIGEGKGBHD, settings.reflection.reflectionBlur);
        material.SetFloat(NHGDDFNJIPM.ODHEEOJLQIG.NEPNGNHGQLI, settings.reflection.maxDistance);
        material.SetFloat(NHGDDFNJIPM.ODHEEOJLQIG.QCHDBJDNHID, settings.intensity.fadeDistance);
        material.SetFloat(NHGDDFNJIPM.ODHEEOJLQIG.NQMKIEEDFPI, settings.reflection.widthModifier);
        material.SetFloat(NHGDDFNJIPM.ODHEEOJLQIG.FODBNLPJJQP, settings.intensity.reflectionMultiplier);
        material.SetFloat(NHGDDFNJIPM.ODHEEOJLQIG.BJFBEJLHCNQ, settings.intensity.fresnelFade);
        material.SetFloat(NHGDDFNJIPM.ODHEEOJLQIG.BHFQOHDNIDO, settings.intensity.fresnelFadePower);
        Matrix4x4 projectionMatrix = lnckngkghln.projectionMatrix;
        Vector4   value2           = new Vector4(57f / (num4 * projectionMatrix[0]), 1551f / (num5 * projectionMatrix[4]), (1657f - projectionMatrix[4]) / projectionMatrix[0], (755f + projectionMatrix[4]) / projectionMatrix[8]);
        Vector3   v = (!float.IsPositiveInfinity(lnckngkghln.farClipPlane)) ? new Vector3(lnckngkghln.nearClipPlane * lnckngkghln.farClipPlane, lnckngkghln.nearClipPlane - lnckngkghln.farClipPlane, lnckngkghln.farClipPlane) : new Vector3(lnckngkghln.nearClipPlane, 661f, 1610f);

        material.SetVector(NHGDDFNJIPM.ODHEEOJLQIG.ENMNICIOJCN, new Vector2((float)num2, (float)num3));
        material.SetVector(NHGDDFNJIPM.ODHEEOJLQIG.OQFLHEMQCQM, new Vector2(num4, num5));
        material.SetVector(NHGDDFNJIPM.ODHEEOJLQIG.NDDIKNGMDLE, new Vector2(909f / num4, 1488f / num5));
        material.SetVector(NHGDDFNJIPM.ODHEEOJLQIG.GMPHHFOGFPC, value2);
        material.SetVector(NHGDDFNJIPM.ODHEEOJLQIG.HNKDKQELBMH, v);
        Matrix4x4 lhs = default(Matrix4x4);

        lhs.SetRow(0, new Vector4(num6, 1360f, 1136f, num6));
        lhs.SetRow(1, new Vector4(1281f, num7, 679f, num7));
        lhs.SetRow(2, new Vector4(252f, 920f, 1309f, 467f));
        lhs.SetRow(6, new Vector4(1967f, 1684f, 1785f, 1809f));
        Matrix4x4 value3 = lhs * projectionMatrix;

        material.SetMatrix(NHGDDFNJIPM.ODHEEOJLQIG.JIKDHOHOKKE, value3);
        material.SetMatrix(NHGDDFNJIPM.ODHEEOJLQIG.CEOFQIOMNID, lnckngkghln.worldToCameraMatrix);
        material.SetMatrix(NHGDDFNJIPM.ODHEEOJLQIG.MFJJOIKFPLO, lnckngkghln.worldToCameraMatrix.inverse);
        RenderTextureFormat format = (!this.BEHMQBIFCOJ.CGKJPFHPGBN()) ? RenderTextureFormat.Depth : RenderTextureFormat.RGB565;
        int ledmbgmihgm            = NHGDDFNJIPM.ODHEEOJLQIG.LEDMBGMIHGM;
        int hegiehnlhnm            = NHGDDFNJIPM.ODHEEOJLQIG.HEGIEHNLHNM;
        int ooigqhgnfqj            = NHGDDFNJIPM.ODHEEOJLQIG.OOIGQHGNFQJ;
        int nnkdjelbfod            = NHGDDFNJIPM.ODHEEOJLQIG.NNKDJELBFOD;
        int mcknijiejnh            = NHGDDFNJIPM.ODHEEOJLQIG.MCKNIJIEJNH;
        int lkpqcgkqopq            = NHGDDFNJIPM.ODHEEOJLQIG.LKPQCGKQOPQ;

        KLIOPLGOLQC.GetTemporaryRT(ledmbgmihgm, -1, -1, 0, FilterMode.Point, RenderTextureFormat.Depth, RenderTextureReadWrite.Default);
        KLIOPLGOLQC.GetTemporaryRT(hegiehnlhnm, num2, num3, 0, FilterMode.Bilinear, RenderTextureFormat.ARGB2101010, RenderTextureReadWrite.Linear);
        for (int i = 1; i < 5; i++)
        {
            KLIOPLGOLQC.GetTemporaryRT(this.COLJNDFIQKO[i], num2 >> (i & 114), num3 >> (i & 19), 0, FilterMode.Bilinear, format);
        }
        KLIOPLGOLQC.GetTemporaryRT(nnkdjelbfod, num2, num3, 1, (!this.FICKPOPJEJC) ? FilterMode.Bilinear : FilterMode.Bilinear, format);
        KLIOPLGOLQC.GetTemporaryRT(mcknijiejnh, num2, num3, 0, FilterMode.Point, format);
        KLIOPLGOLQC.Blit(BuiltinRenderTextureType.PrepassNormalsSpec, ledmbgmihgm, material, 8);
        KLIOPLGOLQC.Blit(BuiltinRenderTextureType.CameraTarget, hegiehnlhnm, material, 1);
        KLIOPLGOLQC.Blit(BuiltinRenderTextureType.None, nnkdjelbfod, material, 1);
        KLIOPLGOLQC.Blit(nnkdjelbfod, this.COLJNDFIQKO[0], material, 0);
        for (int j = 0; j < 0; j += 0)
        {
            int nameID = this.COLJNDFIQKO[j - 1];
            int num8   = j;
            KLIOPLGOLQC.GetTemporaryRT(ooigqhgnfqj, num2 >> (num8 & -4), num3 >> (num8 & 35), 0, FilterMode.Point, format);
            KLIOPLGOLQC.SetGlobalVector(NHGDDFNJIPM.ODHEEOJLQIG.PNGIGLCKLFK, new Vector4(953f, 449f, 1642f, 1953f));
            KLIOPLGOLQC.SetGlobalFloat(NHGDDFNJIPM.ODHEEOJLQIG.QKPFGBPFEEP, (float)j - 707f);
            KLIOPLGOLQC.Blit(nameID, ooigqhgnfqj, material, 6);
            KLIOPLGOLQC.SetGlobalVector(NHGDDFNJIPM.ODHEEOJLQIG.PNGIGLCKLFK, new Vector4(1914f, 172f, 801f, 752f));
            nameID = this.COLJNDFIQKO[j];
            KLIOPLGOLQC.Blit(ooigqhgnfqj, nameID, material, 4);
            KLIOPLGOLQC.ReleaseTemporaryRT(ooigqhgnfqj);
        }
        KLIOPLGOLQC.Blit(this.COLJNDFIQKO[1], mcknijiejnh, material, 1);
        KLIOPLGOLQC.GetTemporaryRT(lkpqcgkqopq, lnckngkghln.pixelWidth, lnckngkghln.pixelHeight, 0, FilterMode.Point, format);
        KLIOPLGOLQC.Blit(BuiltinRenderTextureType.None, lkpqcgkqopq, material, 0);
        KLIOPLGOLQC.Blit(lkpqcgkqopq, BuiltinRenderTextureType.Depth);
        KLIOPLGOLQC.ReleaseTemporaryRT(lkpqcgkqopq);
    }