Skip to content

Commit 77ecf78

Browse files
committed
[Backport 2021.2] Add Overlay Render Queue to Custom Pass
Backport: #6520 Address case https://fogbugz.unity3d.com/f/cases/1379399/ The original request of this bug report was to add support for the Overlay render queue to HDRP. Since overlay is an invalid render queue range for HDRP's internal draw calls, I instead explored the route of ensuring that the custom pass volume is capable over drawing renderers in this queue. I found that the Draw Renderers Custom Pass did not include the Overlay range, so I added it.
1 parent 08f38ae commit 77ecf78

File tree

3 files changed

+16
-11
lines changed

3 files changed

+16
-11
lines changed

Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderQueue.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,8 @@ internal static RenderQueueType MigrateRenderQueueToHDRP10(RenderQueueType rende
101101

102102
public static readonly RenderQueueRange k_RenderQueue_AfterPostProcessTransparent = new RenderQueueRange { lowerBound = (int)Priority.AfterPostprocessTransparentFirst, upperBound = (int)Priority.AfterPostprocessTransparentLast };
103103

104+
public static readonly RenderQueueRange k_RenderQueue_Overlay = new RenderQueueRange { lowerBound = (int)Priority.Overlay, upperBound = 5000 };
105+
104106
public static readonly RenderQueueRange k_RenderQueue_All = new RenderQueueRange { lowerBound = 0, upperBound = 5000 };
105107

106108
public static bool Contains(this RenderQueueRange range, int value) => range.lowerBound <= value && value <= range.upperBound;

Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/RenderPass/CustomPass/CustomPass.cs

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -110,27 +110,29 @@ public enum TargetBuffer
110110
public enum RenderQueueType
111111
{
112112
/// <summary>Opaque GameObjects without alpha test only.</summary>
113-
OpaqueNoAlphaTest,
113+
OpaqueNoAlphaTest = 0,
114114
/// <summary>Opaque GameObjects with alpha test only.</summary>
115-
OpaqueAlphaTest,
115+
OpaqueAlphaTest = 1,
116116
/// <summary>All opaque GameObjects.</summary>
117-
AllOpaque,
117+
AllOpaque = 2,
118118
/// <summary>Opaque GameObjects that use the after post process render pass.</summary>
119-
AfterPostProcessOpaque,
119+
AfterPostProcessOpaque = 3,
120120
/// <summary>Transparent GameObjects that use the the pre refraction render pass.</summary>
121-
PreRefraction,
121+
PreRefraction = 4,
122122
/// <summary>Transparent GameObjects that use the default render pass.</summary>
123-
Transparent,
123+
Transparent = 5,
124124
/// <summary>Transparent GameObjects that use the low resolution render pass.</summary>
125-
LowTransparent,
125+
LowTransparent = 6,
126126
/// <summary>All Transparent GameObjects.</summary>
127-
AllTransparent,
127+
AllTransparent = 7,
128128
/// <summary>Transparent GameObjects that use the Pre-refraction, Default, or Low resolution render pass.</summary>
129-
AllTransparentWithLowRes,
129+
AllTransparentWithLowRes = 8,
130130
/// <summary>Transparent GameObjects that use after post process render pass.</summary>
131-
AfterPostProcessTransparent,
131+
AfterPostProcessTransparent = 9,
132+
/// <summary>All GameObjects that use the overlay render pass.</summary>
133+
Overlay = 11,
132134
/// <summary>All GameObjects</summary>
133-
All,
135+
All = 10,
134136
}
135137

136138
internal struct RenderTargets

Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/RenderPass/CustomPass/CustomPassUtils.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -412,6 +412,7 @@ public static RenderQueueRange GetRenderQueueRangeFromRenderQueueType(CustomPass
412412
case CustomPass.RenderQueueType.AllTransparent: return HDRenderQueue.k_RenderQueue_AllTransparent;
413413
case CustomPass.RenderQueueType.AllTransparentWithLowRes: return HDRenderQueue.k_RenderQueue_AllTransparentWithLowRes;
414414
case CustomPass.RenderQueueType.AfterPostProcessTransparent: return HDRenderQueue.k_RenderQueue_AfterPostProcessTransparent;
415+
case CustomPass.RenderQueueType.Overlay: return HDRenderQueue.k_RenderQueue_Overlay;
415416
case CustomPass.RenderQueueType.All:
416417
default:
417418
return HDRenderQueue.k_RenderQueue_All;

0 commit comments

Comments
 (0)