A game about forced loneliness, made by TACStudios
at master 66 lines 3.5 kB view raw
1using UnityEngine.Scripting.APIUpdating; 2 3namespace UnityEngine.Rendering.RenderGraphModule 4{ 5 /// <summary> 6 /// Helper class allowing access to default resources (black or white texture, etc.) during render passes. 7 /// </summary> 8 [MovedFrom(true, "UnityEngine.Experimental.Rendering.RenderGraphModule", "UnityEngine.Rendering.RenderGraphModule")] 9 public class RenderGraphDefaultResources 10 { 11 // We need to keep around a RTHandle version of default regular 2D textures since RenderGraph API is all RTHandle. 12 RTHandle m_BlackTexture2D; 13 RTHandle m_WhiteTexture2D; 14 RTHandle m_ShadowTexture2D; 15 16 /// <summary>Default black 2D texture.</summary> 17 public TextureHandle blackTexture { get; private set; } 18 /// <summary>Default white 2D texture.</summary> 19 public TextureHandle whiteTexture { get; private set; } 20 /// <summary>Default clear color XR 2D texture.</summary> 21 public TextureHandle clearTextureXR { get; private set; } 22 /// <summary>Default magenta XR 2D texture.</summary> 23 public TextureHandle magentaTextureXR { get; private set; } 24 /// <summary>Default black XR 2D texture.</summary> 25 public TextureHandle blackTextureXR { get; private set; } 26 /// <summary>Default black XR 2D Array texture.</summary> 27 public TextureHandle blackTextureArrayXR { get; private set; } 28 /// <summary>Default black (UInt) XR 2D texture.</summary> 29 public TextureHandle blackUIntTextureXR { get; private set; } 30 /// <summary>Default black XR 3D texture.</summary> 31 public TextureHandle blackTexture3DXR { get; private set; } 32 /// <summary>Default white XR 2D texture.</summary> 33 public TextureHandle whiteTextureXR { get; private set; } 34 /// <summary>Default 1x1 shadow texture.</summary> 35 public TextureHandle defaultShadowTexture { get; private set; } 36 37 internal RenderGraphDefaultResources() 38 { 39 m_BlackTexture2D = RTHandles.Alloc(Texture2D.blackTexture); 40 m_WhiteTexture2D = RTHandles.Alloc(Texture2D.whiteTexture); 41 m_ShadowTexture2D = RTHandles.Alloc(1, 1, Experimental.Rendering.GraphicsFormat.D32_SFloat, isShadowMap: true, name: "DefaultShadowTexture"); 42 } 43 44 internal void Cleanup() 45 { 46 m_BlackTexture2D.Release(); 47 m_WhiteTexture2D.Release(); 48 m_ShadowTexture2D.Release(); 49 } 50 51 internal void InitializeForRendering(RenderGraph renderGraph) 52 { 53 blackTexture = renderGraph.ImportTexture(m_BlackTexture2D, true); 54 whiteTexture = renderGraph.ImportTexture(m_WhiteTexture2D, true); 55 defaultShadowTexture = renderGraph.ImportTexture(m_ShadowTexture2D, true); 56 57 clearTextureXR = renderGraph.ImportTexture(TextureXR.GetClearTexture(), true); 58 magentaTextureXR = renderGraph.ImportTexture(TextureXR.GetMagentaTexture(), true); 59 blackTextureXR = renderGraph.ImportTexture(TextureXR.GetBlackTexture(), true); 60 blackTextureArrayXR = renderGraph.ImportTexture(TextureXR.GetBlackTextureArray(), true); 61 blackUIntTextureXR = renderGraph.ImportTexture(TextureXR.GetBlackUIntTexture(), true); 62 blackTexture3DXR = renderGraph.ImportTexture(TextureXR.GetBlackTexture3D(), true); 63 whiteTextureXR = renderGraph.ImportTexture(TextureXR.GetWhiteTexture(), true); 64 } 65 } 66}