Version: 2020.3

BuiltinShaderDefine

enumeration

切换到手册

描述

Defines set by editor when compiling shaders, depending on target platform and tier. You can only set a GraphicsTier in the Built-in Render Pipeline.

变量

UNITY_NO_DXT5nm在为不支持 DXT5NM 的平台(这意味着法线贴图将改为以 RGB 编码)编译着色器时,设置 UNITY_NO_DXT5nm。
UNITY_NO_RGBM在为不支持 RGBM 的平台(将改用 dLDR)编译着色器时,设置 UNITY_NO_RGBM。
UNITY_ENABLE_REFLECTION_BUFFERS当延迟着色渲染反射探针处于延迟模式时,设置 UNITY_ENABLE_REFLECTION_BUFFERS。设置此选项后,反射渲染进逐像素缓冲区中。这与光线渲染进逐像素缓冲区中的方式类似。使用延迟着色时,UNITY_ENABLE_REFLECTION_BUFFERS 默认开启,不过,通过在 Graphics Settings 中将“Deferred Reflections”着色器选项设置为“No support”可以将其关闭。此设置关闭后,反射探针逐对象渲染,与前向渲染的工作方式类似。
UNITY_FRAMEBUFFER_FETCH_AVAILABLE在为帧缓冲提取可能可用的平台编译着色器时,设置 UNITY_FRAMEBUFFER_FETCH_AVAILABLE。
UNITY_ENABLE_NATIVE_SHADOW_LOOKUPSUNITY_ENABLE_NATIVE_SHADOW_LOOKUPS 允许在 OpenGL ES 2.0 上使用内置阴影比较采样器。
UNITY_METAL_SHADOWS_USE_POINT_FILTERING在阴影采样器应在 iOS Metal 上使用点过滤时,设置 UNITY_METAL_SHADOWS_USE_POINT_FILTERING。
UNITY_NO_SCREENSPACE_SHADOWS在屏幕空间级联阴影贴图禁用时,设置 UNITY_NO_SCREENSPACE_SHADOWS。
UNITY_USE_DITHER_MASK_FOR_ALPHABLENDED_SHADOWS在启用了 Semitransparent Shadows 时,设置 UNITY_USE_DITHER_MASK_FOR_ALPHABLENDED_SHADOWS。
UNITY_PBS_USE_BRDF1在应使用标准着色器 BRDF1 时,设置 UNITY_PBS_USE_BRDF1。
UNITY_PBS_USE_BRDF2在应使用标准着色器 BRDF2 时,设置 UNITY_PBS_USE_BRDF2。
UNITY_PBS_USE_BRDF3在应使用标准着色器 BRDF3 时,设置 UNITY_PBS_USE_BRDF3。
UNITY_NO_FULL_STANDARD_SHADER在应使用具有额外简化的标准着色器 BRDF3 时,设置 UNITY_NO_FULL_STANDARD_SHADER。
UNITY_SPECCUBE_BOX_PROJECTION在启用了 Reflection Probes Box Projection 时,设置 UNITY_SPECCUBE_BLENDING。
UNITY_SPECCUBE_BLENDING在启用了 Reflection Probes Blending 时,设置 UNITY_SPECCUBE_BLENDING。
UNITY_ENABLE_DETAIL_NORMALMAP如果在分配时应该对细节法线贴图进行采样,则设置 UNITY_ENABLE_DETAIL_NORMALMAP。
SHADER_API_MOBILE在为移动平台编译着色器时,设置 SHADER_API_MOBILE。
SHADER_API_DESKTOP在为“desktop”平台编译着色器时,设置 SHADER_API_DESKTOP。
UNITY_HARDWARE_TIER1在为 GraphicsTier.Tier1 编译着色器时,设置 UNITY_HARDWARE_TIER1。
UNITY_HARDWARE_TIER2在为 GraphicsTier.Tier2 编译着色器时,设置 UNITY_HARDWARE_TIER2。
UNITY_HARDWARE_TIER3在为 GraphicsTier.Tier3 编译着色器时,设置 UNITY_HARDWARE_TIER3。
UNITY_COLORSPACE_GAMMA在为伽马颜色空间编译着色器时,设置 UNITY_COLORSPACE_GAMMA。
UNITY_LIGHT_PROBE_PROXY_VOLUMEUNITY_LIGHT_PROBE_PROXY_VOLUME is set when Light Probe Proxy Volume feature is supported by the current graphics API and is enabled in the Graphics Tier settings. You can only set a Graphics Tier in the Built-in Render Pipeline.
UNITY_HALF_PRECISION_FRAGMENT_SHADER_REGISTERS对于片元着色器中不需要完全浮点精度支持的平台,会自动设置 UNITY_HALF_PRECISION_FRAGMENT_SHADER_REGISTERS。
UNITY_LIGHTMAP_DLDR_ENCODING在光照贴图纹理使用双 LDR 编码存储纹理中的值时,设置 UNITY_LIGHTMAP_DLDR_ENCODING。
UNITY_LIGHTMAP_RGBM_ENCODING在光照贴图纹理使用 RGBM 编码存储纹理中的值时,设置 UNITY_LIGHTMAP_RGBM_ENCODING。
UNITY_LIGHTMAP_FULL_HDR在光照贴图纹理不使用任何编码存储纹理中的值时,设置 UNITY_LIGHTMAP_FULL_HDR。
UNITY_VIRTUAL_TEXTURINGIs virtual texturing enabled and supported on this platform.
UNITY_PRETRANSFORM_TO_DISPLAY_ORIENTATIONUnity enables UNITY_PRETRANSFORM_TO_DISPLAY_ORIENTATION when Vulkan pre-transform is enabled and supported on the target build platform.
UNITY_ASTC_NORMALMAP_ENCODINGUnity enables UNITY_ASTC_NORMALMAP_ENCODING when DXT5nm-style normal maps are used on Android, iOS or tvOS.
SHADER_API_GLES30SHADER_API_ES30 is set when the Graphics API is OpenGL ES 3 and the minimum supported OpenGL ES 3 version is OpenGL ES 3.0.
UNITY_UNIFIED_SHADER_PRECISION_MODELUnity sets UNITY_UNIFIED_SHADER_PRECISION_MODEL if, in Player Settings, you set Shader Precision Model to Unified.