Skip to content

[BACKPORT 7.x] Add Overlay Render Queue to Custom Pass #7312

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Apr 15, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,8 @@ public enum RenderQueueType

public static readonly RenderQueueRange k_RenderQueue_AllTransparentRaytracing = new RenderQueueRange { lowerBound = (int)Priority.RaytracingTransparent, upperBound = (int)Priority.RaytracingTransparent };

public static readonly RenderQueueRange k_RenderQueue_Overlay = new RenderQueueRange { lowerBound = (int)Priority.Overlay, upperBound = 5000 };

public static readonly RenderQueueRange k_RenderQueue_All = new RenderQueueRange { lowerBound = 0, upperBound = 5000 };

public static bool Contains(this RenderQueueRange range, int value) => range.lowerBound <= value && value <= range.upperBound;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -104,27 +104,29 @@ public enum TargetBuffer
public enum RenderQueueType
{
/// <summary>Opaque GameObjects without alpha test only.</summary>
OpaqueNoAlphaTest,
OpaqueNoAlphaTest = 0,
/// <summary>Opaque GameObjects with alpha test only.</summary>
OpaqueAlphaTest,
OpaqueAlphaTest = 1,
/// <summary>All opaque GameObjects.</summary>
AllOpaque,
AllOpaque = 2,
/// <summary>Opaque GameObjects that use the after post process render pass.</summary>
AfterPostProcessOpaque,
AfterPostProcessOpaque = 3,
/// <summary>Transparent GameObjects that use the the pre refraction render pass.</summary>
PreRefraction,
PreRefraction = 4,
/// <summary>Transparent GameObjects that use the default render pass.</summary>
Transparent,
Transparent = 5,
/// <summary>Transparent GameObjects that use the low resolution render pass.</summary>
LowTransparent,
LowTransparent = 6,
/// <summary>All Transparent GameObjects.</summary>
AllTransparent,
AllTransparent = 7,
/// <summary>Transparent GameObjects that use the Pre-refraction, Default, or Low resolution render pass.</summary>
AllTransparentWithLowRes,
AllTransparentWithLowRes = 8,
/// <summary>Transparent GameObjects that use after post process render pass.</summary>
AfterPostProcessTransparent,
AfterPostProcessTransparent = 9,
/// <summary>All GameObjects that use the overlay render pass.</summary>
Overlay = 11,
/// <summary>All GameObjects</summary>
All,
All = 10,
}

internal struct RenderTargets
Expand Down Expand Up @@ -391,6 +393,7 @@ internal static RenderQueueRange GetRenderQueueRangeFromRenderQueueType(RenderQu
case CustomPass.RenderQueueType.AllTransparent: return HDRenderQueue.k_RenderQueue_AllTransparent;
case CustomPass.RenderQueueType.AllTransparentWithLowRes: return HDRenderQueue.k_RenderQueue_AllTransparentWithLowRes;
case CustomPass.RenderQueueType.AfterPostProcessTransparent: return HDRenderQueue.k_RenderQueue_AfterPostProcessTransparent;
case CustomPass.RenderQueueType.Overlay: return HDRenderQueue.k_RenderQueue_Overlay;
case CustomPass.RenderQueueType.All:
default:
return HDRenderQueue.k_RenderQueue_All;
Expand Down