From 22891bf59032ba88262824255a706d652031384b Mon Sep 17 00:00:00 2001 From: chai Date: Thu, 10 Mar 2022 14:07:40 +0800 Subject: * move folder --- Assets/Scripts/Unit/LensEffect/LensEffectBase.cs | 111 ----------------------- 1 file changed, 111 deletions(-) delete mode 100644 Assets/Scripts/Unit/LensEffect/LensEffectBase.cs (limited to 'Assets/Scripts/Unit/LensEffect/LensEffectBase.cs') diff --git a/Assets/Scripts/Unit/LensEffect/LensEffectBase.cs b/Assets/Scripts/Unit/LensEffect/LensEffectBase.cs deleted file mode 100644 index 94e5f6a7..00000000 --- a/Assets/Scripts/Unit/LensEffect/LensEffectBase.cs +++ /dev/null @@ -1,111 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEngine.Rendering; - -public class MaterialEntry -{ - public string shader; - public Material material; -} - -// unit 镜头效果,和image effect的区别在于不光是后处理 -public abstract class LensEffectBase -{ - public enum EStage - { - BeforeIterate, // 迭代之前 - Iterate, // 迭代renderer - AfterIterate, // 迭代之后 - FinishRender, // 渲染角色之后(所有lens effect结束) - } - - public abstract ERenderingEvent renderingEvents { get; } - - protected static Dictionary> m_MaterailPool = new Dictionary>(); - - private List m_InUseMaterials = new List(); - - #region upvalues - public BodyPartRenderer curBodypartRenderer; - public UnitController owner; - #endregion - - private static MaterialEntry ClaimMaterial(string shader) - { - List mats; - if (m_MaterailPool.TryGetValue(shader, out mats) && mats.Count > 0) - { - MaterialEntry me = mats[mats.Count - 1]; - mats.RemoveAt(mats.Count - 1); - return me; - } - Material mat = new Material(Shader.Find(shader)); - MaterialEntry entry = new MaterialEntry(); - entry.material = mat; - entry.shader = shader; - return entry; - } - - private static void ReleaseMaterial(MaterialEntry entry) - { - List mats; - if (!m_MaterailPool.TryGetValue(entry.shader, out mats)) - { - mats = new List(); - m_MaterailPool.Add(entry.shader, mats); - } - mats.Add(entry); - } - - protected MaterialEntry GetTempMaterial(string shader) - { - MaterialEntry entry = ClaimMaterial(shader); - m_InUseMaterials.Add(entry); - return entry; - } - - protected void ReleaseAllInUsedMaterials() - { - for(int i = 0; i < m_InUseMaterials.Count; ++i) - { - ReleaseMaterial(m_InUseMaterials[i]); - } - m_InUseMaterials.Clear(); - } - - public virtual void BeforeDepthTexture(EStage stage, CommandBuffer cb) { } - public virtual void AfterDepthTexture(EStage stage, CommandBuffer cb) { } - - public virtual void BeforeDepthNormalsTexture(EStage stage, CommandBuffer cb) { } - public virtual void AfterDepthNormalsTexture(EStage stage, CommandBuffer cb) { } - - public virtual void BeforeForwardOpaque(EStage stage, CommandBuffer cb) { } - public virtual void AfterForwardOpaque(EStage stage, CommandBuffer cb) { } - - public virtual void BeforeImageEffectsOpaque(EStage stage, CommandBuffer cb) { } - public virtual void AfterImageEffectsOpaque(EStage stage, CommandBuffer cb) { } - - public virtual void BeforeSkybox(EStage stage, CommandBuffer cb) { } - public virtual void AfterSkybox(EStage stage, CommandBuffer cb) { } - - public virtual void BeforeForwardAlpha(EStage stage, CommandBuffer cb) { } - public virtual void AfterForwardAlpha(EStage stage, CommandBuffer cb) { } - - public virtual void BeforeImageEffects(EStage stage, CommandBuffer cb) { } - public virtual void AfterImageEffects(EStage stage, CommandBuffer cb) { } - - public virtual void BeforeEverything(EStage stage, CommandBuffer cb) { } - public virtual void AfterEverything(EStage stage, CommandBuffer cb) { } - - public virtual bool CanDestroy() { return false; } - - public virtual void OnDestroy() { } - - // 角色渲染完毕 - public virtual void OnRenderFinish() - { - ReleaseAllInUsedMaterials(); - } - -} \ No newline at end of file -- cgit v1.1-26-g67d0