summaryrefslogtreecommitdiff
path: root/Valheim_r202102_v0.141.2/Valheim/assembly_sunshafts/UnityStandardAssets.ImageEffects/ContrastStretch.cs
diff options
context:
space:
mode:
authorchai <215380520@qq.com>2024-05-21 20:51:53 +0800
committerchai <215380520@qq.com>2024-05-21 20:51:53 +0800
commit419dcc2e47d94accd0894a1cb36282c8421e7bc1 (patch)
tree24c100ecc3ebfb2a976e29bd010ff84300a6e5e6 /Valheim_r202102_v0.141.2/Valheim/assembly_sunshafts/UnityStandardAssets.ImageEffects/ContrastStretch.cs
parentd141888a2c4e582df2725a16859dfcdfb19e1e2c (diff)
*rename
Diffstat (limited to 'Valheim_r202102_v0.141.2/Valheim/assembly_sunshafts/UnityStandardAssets.ImageEffects/ContrastStretch.cs')
-rw-r--r--Valheim_r202102_v0.141.2/Valheim/assembly_sunshafts/UnityStandardAssets.ImageEffects/ContrastStretch.cs178
1 files changed, 0 insertions, 178 deletions
diff --git a/Valheim_r202102_v0.141.2/Valheim/assembly_sunshafts/UnityStandardAssets.ImageEffects/ContrastStretch.cs b/Valheim_r202102_v0.141.2/Valheim/assembly_sunshafts/UnityStandardAssets.ImageEffects/ContrastStretch.cs
deleted file mode 100644
index a843a7d..0000000
--- a/Valheim_r202102_v0.141.2/Valheim/assembly_sunshafts/UnityStandardAssets.ImageEffects/ContrastStretch.cs
+++ /dev/null
@@ -1,178 +0,0 @@
-using UnityEngine;
-
-namespace UnityStandardAssets.ImageEffects;
-
-[ExecuteInEditMode]
-[AddComponentMenu("Image Effects/Color Adjustments/Contrast Stretch")]
-public class ContrastStretch : MonoBehaviour
-{
- [Range(0.0001f, 1f)]
- public float adaptationSpeed = 0.02f;
-
- [Range(0f, 1f)]
- public float limitMinimum = 0.2f;
-
- [Range(0f, 1f)]
- public float limitMaximum = 0.6f;
-
- private RenderTexture[] adaptRenderTex = new RenderTexture[2];
-
- private int curAdaptIndex;
-
- public Shader shaderLum;
-
- private Material m_materialLum;
-
- public Shader shaderReduce;
-
- private Material m_materialReduce;
-
- public Shader shaderAdapt;
-
- private Material m_materialAdapt;
-
- public Shader shaderApply;
-
- private Material m_materialApply;
-
- protected Material materialLum
- {
- get
- {
- if (m_materialLum == null)
- {
- m_materialLum = new Material(shaderLum);
- m_materialLum.hideFlags = HideFlags.HideAndDontSave;
- }
- return m_materialLum;
- }
- }
-
- protected Material materialReduce
- {
- get
- {
- if (m_materialReduce == null)
- {
- m_materialReduce = new Material(shaderReduce);
- m_materialReduce.hideFlags = HideFlags.HideAndDontSave;
- }
- return m_materialReduce;
- }
- }
-
- protected Material materialAdapt
- {
- get
- {
- if (m_materialAdapt == null)
- {
- m_materialAdapt = new Material(shaderAdapt);
- m_materialAdapt.hideFlags = HideFlags.HideAndDontSave;
- }
- return m_materialAdapt;
- }
- }
-
- protected Material materialApply
- {
- get
- {
- if (m_materialApply == null)
- {
- m_materialApply = new Material(shaderApply);
- m_materialApply.hideFlags = HideFlags.HideAndDontSave;
- }
- return m_materialApply;
- }
- }
-
- private void Start()
- {
- if (!SystemInfo.supportsImageEffects)
- {
- base.enabled = false;
- }
- else if (!shaderAdapt.isSupported || !shaderApply.isSupported || !shaderLum.isSupported || !shaderReduce.isSupported)
- {
- base.enabled = false;
- }
- }
-
- private void OnEnable()
- {
- for (int i = 0; i < 2; i++)
- {
- if (!adaptRenderTex[i])
- {
- adaptRenderTex[i] = new RenderTexture(1, 1, 0);
- adaptRenderTex[i].hideFlags = HideFlags.HideAndDontSave;
- }
- }
- }
-
- private void OnDisable()
- {
- for (int i = 0; i < 2; i++)
- {
- Object.DestroyImmediate(adaptRenderTex[i]);
- adaptRenderTex[i] = null;
- }
- if ((bool)m_materialLum)
- {
- Object.DestroyImmediate(m_materialLum);
- }
- if ((bool)m_materialReduce)
- {
- Object.DestroyImmediate(m_materialReduce);
- }
- if ((bool)m_materialAdapt)
- {
- Object.DestroyImmediate(m_materialAdapt);
- }
- if ((bool)m_materialApply)
- {
- Object.DestroyImmediate(m_materialApply);
- }
- }
-
- private void OnRenderImage(RenderTexture source, RenderTexture destination)
- {
- RenderTexture renderTexture = RenderTexture.GetTemporary(source.width / 1, source.height / 1);
- Graphics.Blit(source, renderTexture, materialLum);
- while (renderTexture.width > 1 || renderTexture.height > 1)
- {
- int num = renderTexture.width / 2;
- if (num < 1)
- {
- num = 1;
- }
- int num2 = renderTexture.height / 2;
- if (num2 < 1)
- {
- num2 = 1;
- }
- RenderTexture temporary = RenderTexture.GetTemporary(num, num2);
- Graphics.Blit(renderTexture, temporary, materialReduce);
- RenderTexture.ReleaseTemporary(renderTexture);
- renderTexture = temporary;
- }
- CalculateAdaptation(renderTexture);
- materialApply.SetTexture("_AdaptTex", adaptRenderTex[curAdaptIndex]);
- Graphics.Blit(source, destination, materialApply);
- RenderTexture.ReleaseTemporary(renderTexture);
- }
-
- private void CalculateAdaptation(Texture curTexture)
- {
- int num = curAdaptIndex;
- curAdaptIndex = (curAdaptIndex + 1) % 2;
- float value = 1f - Mathf.Pow(1f - adaptationSpeed, 30f * Time.deltaTime);
- value = Mathf.Clamp(value, 0.01f, 1f);
- materialAdapt.SetTexture("_CurTex", curTexture);
- materialAdapt.SetVector("_AdaptParams", new Vector4(value, limitMinimum, limitMaximum, 0f));
- Graphics.SetRenderTarget(adaptRenderTex[curAdaptIndex]);
- GL.Clear(clearDepth: false, clearColor: true, Color.black);
- Graphics.Blit(adaptRenderTex[num], adaptRenderTex[curAdaptIndex], materialAdapt);
- }
-}