Nenhuma descrição
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

GPUResidentDrawerResources.cs 5.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. using System;
  2. namespace UnityEngine.Rendering
  3. {
  4. /// <summary> Class for tracking resources used by the GPUResidentDrawer </summary>
  5. [Serializable]
  6. [SupportedOnRenderPipeline]
  7. [Categorization.CategoryInfo(Name = "R: GPU Resident Drawers", Order = 1000), HideInInspector]
  8. class GPUResidentDrawerResources : IRenderPipelineResources
  9. {
  10. public enum Version
  11. {
  12. Initial,
  13. Count,
  14. Latest = Count - 1
  15. }
  16. [SerializeField, HideInInspector] Version m_Version = Version.Latest;
  17. int IRenderPipelineGraphicsSettings.version => (int)m_Version;
  18. [SerializeField, ResourcePath("Runtime/RenderPipelineResources/GPUDriven/InstanceDataBufferCopyKernels.compute")]
  19. ComputeShader m_InstanceDataBufferCopyKernels;
  20. /// <summary> InstanceDataBufferCopyKernels compute shader reference </summary>
  21. public ComputeShader instanceDataBufferCopyKernels
  22. {
  23. get => m_InstanceDataBufferCopyKernels;
  24. set => this.SetValueAndNotify(ref m_InstanceDataBufferCopyKernels, value, nameof(m_InstanceDataBufferCopyKernels));
  25. }
  26. [SerializeField, ResourcePath("Runtime/RenderPipelineResources/GPUDriven/InstanceDataBufferUploadKernels.compute")]
  27. ComputeShader m_InstanceDataBufferUploadKernels;
  28. /// <summary> InstanceDataBufferUploadKernels compute shader reference </summary>
  29. public ComputeShader instanceDataBufferUploadKernels
  30. {
  31. get => m_InstanceDataBufferUploadKernels;
  32. set => this.SetValueAndNotify(ref m_InstanceDataBufferUploadKernels, value, nameof(m_InstanceDataBufferUploadKernels));
  33. }
  34. [SerializeField, ResourcePath("Runtime/RenderPipelineResources/GPUDriven/InstanceTransformUpdateKernels.compute")]
  35. ComputeShader m_TransformUpdaterKernels;
  36. /// <summary> TransformUpdaterKernels compute shader reference </summary>
  37. public ComputeShader transformUpdaterKernels
  38. {
  39. get => m_TransformUpdaterKernels;
  40. set => this.SetValueAndNotify(ref m_TransformUpdaterKernels, value, nameof(m_TransformUpdaterKernels));
  41. }
  42. [SerializeField, ResourcePath("Runtime/RenderPipelineResources/GPUDriven/InstanceWindDataUpdateKernels.compute")]
  43. public ComputeShader m_WindDataUpdaterKernels;
  44. /// <summary>
  45. /// InstanceWindDataUpdateKernels compute shader reference
  46. /// </summary>
  47. public ComputeShader windDataUpdaterKernels
  48. {
  49. get => m_WindDataUpdaterKernels;
  50. set => this.SetValueAndNotify(ref m_WindDataUpdaterKernels, value, nameof(m_WindDataUpdaterKernels));
  51. }
  52. [SerializeField, ResourcePath("Runtime/RenderPipelineResources/GPUDriven/OccluderDepthPyramidKernels.compute")]
  53. ComputeShader m_OccluderDepthPyramidKernels;
  54. /// <summary>
  55. /// OccluderDepthPyramidKernels compute shader reference
  56. /// </summary>
  57. public ComputeShader occluderDepthPyramidKernels
  58. {
  59. get => m_OccluderDepthPyramidKernels;
  60. set => this.SetValueAndNotify(ref m_OccluderDepthPyramidKernels, value, nameof(m_OccluderDepthPyramidKernels));
  61. }
  62. [SerializeField, ResourcePath("Runtime/RenderPipelineResources/GPUDriven/InstanceOcclusionCullingKernels.compute")]
  63. ComputeShader m_InstanceOcclusionCullingKernels;
  64. /// <summary>
  65. /// InstanceOcclusionCullingKernels compute shader reference
  66. /// </summary>
  67. public ComputeShader instanceOcclusionCullingKernels
  68. {
  69. get => m_InstanceOcclusionCullingKernels;
  70. set => this.SetValueAndNotify(ref m_InstanceOcclusionCullingKernels, value, nameof(m_InstanceOcclusionCullingKernels));
  71. }
  72. [SerializeField, ResourcePath("Runtime/RenderPipelineResources/GPUDriven/OcclusionCullingDebug.compute")]
  73. ComputeShader m_OcclusionCullingDebugKernels;
  74. /// <summary>
  75. /// OcclusionCullingDebugKernels compute shader reference
  76. /// </summary>
  77. public ComputeShader occlusionCullingDebugKernels
  78. {
  79. get => m_OcclusionCullingDebugKernels;
  80. set => this.SetValueAndNotify(ref m_OcclusionCullingDebugKernels, value, nameof(m_OcclusionCullingDebugKernels));
  81. }
  82. [SerializeField, ResourcePath("Runtime/RenderPipelineResources/GPUDriven/DebugOcclusionTest.shader")]
  83. Shader m_DebugOcclusionTestPS;
  84. /// <summary>
  85. /// DebugOcclusionTestPS pixel shader reference
  86. /// </summary>
  87. public Shader debugOcclusionTestPS
  88. {
  89. get => m_DebugOcclusionTestPS;
  90. set => this.SetValueAndNotify(ref m_DebugOcclusionTestPS, value, nameof(m_DebugOcclusionTestPS));
  91. }
  92. [SerializeField, ResourcePath("Runtime/RenderPipelineResources/GPUDriven/DebugOccluder.shader")]
  93. Shader m_DebugOccluderPS;
  94. /// <summary>
  95. /// DebugOccluderPS pixel shader reference
  96. /// </summary>
  97. public Shader debugOccluderPS
  98. {
  99. get => m_DebugOccluderPS;
  100. set => this.SetValueAndNotify(ref m_DebugOccluderPS, value, nameof(m_DebugOccluderPS));
  101. }
  102. }
  103. }