文档

Unity Engine


User Manual

Script Reference

Unity Engine


Shader keywords and macros reference in URP

Shader keywords and macros that enable or provide access to URP features in shaders.
阅读时间2 分钟最后更新于 22 天前

Shader keywords and macros that enable or provide access to URP features in shaders.

Element

Description

_CLUSTER_LIGHT_LOOP
Use this
multi_compile
keyword to make the shader compatible with the Forward+ and Deferred+ rendering paths. For an implementation example, refer to Render additional lights in a shader.
_ADDITIONAL_LIGHTS
Use this keyword to define areas in shader code that Unity should execute if per-pixel additional lights are enabled in a scene and URP asset. If a renderer uses the Forward+ rendering path, Unity ignores this keyword and uses the
_CLUSTER_LIGHT_LOOP
keyword instead. For an implementation example, refer to Render additional lights in a shader.
LIGHT_LOOP_BEGIN
Use this macro to iterate over the additional lights. In the Forward+ rendering path, the
LIGHT_LOOP_BEGIN
macro requires the following struct to be in its scope, both the type and the variable name must match this signature:
InputData inputData
. For an implementation example, refer to Render additional lights in a shader.
_DEPTH_AS_INPUT_ATTACHMENT
Use this
multi_compile
keyword to define areas in shader code that read depth using the
FetchSceneDepth(float2 fragCoord)
input attachment method instead of sampling a depth texture. Unity enables this keyword when a render pass binds depth as a non-MSAA input attachment. For an implementation example, refer to Get the current depth buffer from GPU memory in URP.
_DEPTH_AS_INPUT_ATTACHMENT_MSAA
Use this
multi_compile
keyword to define areas in shader code that read depth using the
FetchSceneDepth(float2 fragCoord, int sampleIndex)
input attachment method when MSAA is enabled. Unity enables this keyword when a render pass binds depth as an MSAA input attachment. For an implementation example, refer to Get the current depth buffer from GPU memory in URP.

Additional resources