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; }
// 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); }
// 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); }
// 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); }
// 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); }
// 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); }