A game about forced loneliness, made by TACStudios
at master 58 lines 2.5 kB view raw
1using System.Diagnostics; 2using UnityEngine.Scripting.APIUpdating; 3 4namespace UnityEngine.Rendering.RenderGraphModule 5{ 6 /// <summary> 7 /// RayTracingAccelerationStructure resource handle. 8 /// </summary> 9 [DebuggerDisplay("RayTracingAccelerationStructure ({handle.index})")] 10 [MovedFrom(true, "UnityEngine.Experimental.Rendering.RenderGraphModule", "UnityEngine.Rendering.RenderGraphModule")] 11 public struct RayTracingAccelerationStructureHandle 12 { 13 private static RayTracingAccelerationStructureHandle s_NullHandle = new RayTracingAccelerationStructureHandle(); 14 15 /// <summary> 16 /// Returns a null ray tracing acceleration structure handle 17 /// </summary> 18 /// <value>A null ray tracing acceleration structure handle.</value> 19 public static RayTracingAccelerationStructureHandle nullHandle { get { return s_NullHandle; } } 20 21 internal ResourceHandle handle; 22 23 internal RayTracingAccelerationStructureHandle(int handle) { this.handle = new ResourceHandle(handle, RenderGraphResourceType.AccelerationStructure, false); } 24 25 /// <summary> 26 /// Cast to RayTracingAccelerationStructure 27 /// </summary> 28 /// <param name="handle">Input RayTracingAccelerationStructureHandle</param> 29 /// <returns>Resource as a RayTracingAccelerationStructure.</returns> 30 public static implicit operator RayTracingAccelerationStructure(RayTracingAccelerationStructureHandle handle) => handle.IsValid() ? RenderGraphResourceRegistry.current.GetRayTracingAccelerationStructure(handle) : null; 31 32 /// <summary> 33 /// Return true if the handle is valid. 34 /// </summary> 35 /// <returns>True if the handle is valid.</returns> 36 public bool IsValid() => handle.IsValid(); 37 } 38 39 40 /// <summary> 41 /// Descriptor used to identify ray tracing acceleration structure resources 42 /// </summary> 43 [MovedFrom(true, "UnityEngine.Experimental.Rendering.RenderGraphModule", "UnityEngine.Rendering.RenderGraphModule")] 44 public struct RayTracingAccelerationStructureDesc 45 { 46 /// <summary>RayTracingAccelerationStructure name.</summary> 47 public string name; 48 } 49 50 [DebuggerDisplay("RayTracingAccelerationStructureResource ({desc.name})")] 51 class RayTracingAccelerationStructureResource : RenderGraphResource<RayTracingAccelerationStructureDesc, RayTracingAccelerationStructure> 52 { 53 public override string GetName() 54 { 55 return desc.name; 56 } 57 } 58}