public PostProcessResources[] AllResourcesImpl() { PurgeTrackedResources(); PostProcessResources[] activeResources = new PostProcessResources[trackedResources.Count]; for (int i = 0; i < trackedResources.Count; ++i) { activeResources[i] = (PostProcessResources)trackedResources[i].Target; } return(activeResources); }
public PostProcessResources StrippableClone() { PostProcessResources clone = CreateInstance <PostProcessResources>(); clone.blueNoise64 = (Texture2D[])blueNoise64.Clone(); clone.blueNoise256 = (Texture2D[])blueNoise256.Clone(); clone.smaaLuts = smaaLuts; clone.shaders = shaders.Clone(); clone.computeShaders = computeShaders.Clone(); return(clone); }
private void Track(PostProcessResources res) { foreach (var weakRef in trackedResources) { PostProcessResources trackedResource = (PostProcessResources)weakRef.Target; if (trackedResource == res) { return; } } trackedResources.Add(new WeakReference(res)); }
public void Init(PostProcessResources resources) { if (resources != null) { m_Resources = resources; } RuntimeUtilities.CreateIfNull(ref temporalAntialiasing); RuntimeUtilities.CreateIfNull(ref subpixelMorphologicalAntialiasing); RuntimeUtilities.CreateIfNull(ref fastApproximateAntialiasing); RuntimeUtilities.CreateIfNull(ref dithering); RuntimeUtilities.CreateIfNull(ref fog); RuntimeUtilities.CreateIfNull(ref debugLayer); }
internal static void UpdateResources(PostProcessResources resources) { Destroy(s_CopyMaterial); Destroy(s_CopyStdMaterial); Destroy(s_CopyFromTexArrayMaterial); Destroy(s_CopyStdFromDoubleWideMaterial); s_CopyMaterial = null; s_CopyStdMaterial = null; s_CopyFromTexArrayMaterial = null; s_CopyStdFromDoubleWideMaterial = null; s_CopySheet = null; s_CopyFromTexArraySheet = null; s_Resources = resources; }
public void Init(PostProcessResources resources) { #if UNITY_EDITOR m_Resources = PostProcessResourcesFactory.Stripped(m_Resources); #endif if (resources != null) { m_Resources = resources; } RuntimeUtilities.CreateIfNull(ref temporalAntialiasing); RuntimeUtilities.CreateIfNull(ref subpixelMorphologicalAntialiasing); RuntimeUtilities.CreateIfNull(ref fastApproximateAntialiasing); RuntimeUtilities.CreateIfNull(ref dithering); RuntimeUtilities.CreateIfNull(ref fog); RuntimeUtilities.CreateIfNull(ref debugLayer); }
private PostProcessResources StrippedImpl(PostProcessResources res) { PurgeTrackedResources(); PostProcessResources result = null; if (res == unstrippedResources) { result = unstrippedResources.StrippableClone(); } else { result = res; } Track(result); if (strip != null) { strip(result); } return(result); }
// Special case for AO [because SRPs], please don't do this in other effects, it's bad // practice in this framework public void SetResources(PostProcessResources resources) { m_Resources = resources; }
internal void BeginFrame(PostProcessRenderContext context) { m_Command = context.command; m_PropertySheets = context.propertySheets; m_Resources = context.resources; }
public static PostProcessResources Stripped(PostProcessResources res) { EnsureInstance(); return(s_Instance.StrippedImpl(res)); }