版本: Unity 6 (6000.0)
语言英语
  • C#

BuiltinShaderDefine

枚举

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交的内容,但我们会阅读用户提出的每个更改建议,并在必要时进行更新。

关闭

提交失败

由于某种原因,您的建议更改无法提交。请在几分钟后<a>重试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

描述

在编译着色器时由编辑器根据目标平台和GraphicsTier设置的定义。

属性

UNITY_NO_DXT5nm当为不支持 DXT5NM 的平台编译着色器时,会设置 UNITY_NO_DXT5nm,这意味着法线贴图将以 RGB 格式进行编码。
UNITY_NO_RGBM当为不支持 RGBM 的平台编译着色器时,会设置 UNITY_NO_RGBM,因此将使用 dLDR 代替。
UNITY_ENABLE_REFLECTION_BUFFERS当延迟着色在延迟模式下渲染反射探头时,会设置 UNITY_ENABLE_REFLECTION_BUFFERS。使用此选项设置,反射将渲染到每个像素缓冲区中。这类似于将灯光渲染到每个像素缓冲区的方式。在使用延迟着色时,UNITY_ENABLE_REFLECTION_BUFFERS 默认情况下处于开启状态,但您可以通过在图形设置中将延迟反射着色器选项设置为“不支持”来关闭它。当该设置关闭时,反射探头会像正向渲染一样逐对象进行渲染。
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当启用半透明阴影时,会设置 UNITY_USE_DITHER_MASK_FOR_ALPHABLENDED_SHADOWS。
UNITY_PBS_USE_BRDF1如果应使用 Standard Shader BRDF1,则会设置 UNITY_PBS_USE_BRDF1。
UNITY_PBS_USE_BRDF2如果应使用 Standard Shader BRDF2,则会设置 UNITY_PBS_USE_BRDF2。
UNITY_PBS_USE_BRDF3如果应使用 Standard Shader BRDF3,则会设置 UNITY_PBS_USE_BRDF3。
UNITY_SPECCUBE_BOX_PROJECTION如果启用了反射探头盒投影,则会设置 UNITY_SPECCUBE_BLENDING。
UNITY_SPECCUBE_BLENDING如果启用了反射探头混合,则会设置 UNITY_SPECCUBE_BLENDING。
UNITY_ENABLE_DETAIL_NORMALMAP如果应在分配时对细节法线贴图进行采样,则会设置 UNITY_ENABLE_DETAIL_NORMALMAP。
SHADER_API_MOBILE当为移动平台编译着色器时,会设置 SHADER_API_MOBILE。
SHADER_API_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_VOLUME当光探头代理体积功能受当前图形 API 支持并在图形层级设置中启用时,会设置 UNITY_LIGHT_PROBE_PROXY_VOLUME。您只能在内置渲染管线中设置图形层级。
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_TEXTURING虚拟纹理是否在该平台上启用并受支持。
UNITY_PRETRANSFORM_TO_DISPLAY_ORIENTATION当 Vulkan 预转换在目标构建平台上启用并受支持时,Unity 会启用 UNITY_PRETRANSFORM_TO_DISPLAY_ORIENTATION。
UNITY_ASTC_NORMALMAP_ENCODING当在 Android、iOS 或 tvOS 上使用 DXT5nm 风格的法线贴图时,Unity 会启用 UNITY_ASTC_NORMALMAP_ENCODING。
SHADER_API_GLES30当图形 API 为 OpenGL ES 3 并且最低支持的 OpenGL ES 3 版本为 OpenGL ES 3.0 时,会设置 SHADER_API_ES30。
UNITY_UNIFIED_SHADER_PRECISION_MODEL如果您在播放器设置中将着色器精度模型设置为统一,则 Unity 会设置 UNITY_UNIFIED_SHADER_PRECISION_MODEL。
UNITY_PLATFORM_SUPPORTS_WAVE_32当目标平台已知支持波级着色器操作且波大小为 32 时,Unity 会设置 UNITY_PLATFORM_SUPPORTS_WAVE_32。
UNITY_PLATFORM_SUPPORTS_WAVE_64当目标平台已知支持波级着色器操作且波大小为 64 时,Unity 会设置 UNITY_PLATFORM_SUPPORTS_WAVE_64。
UNITY_NEEDS_RENDERPASS_FBFETCH_FALLBACK当我们需要为 RenderPass 生成回退以防没有帧缓冲区提取时,会设置 UNITY_NEEDS_RENDERPASS_FBFETCH_FALLBACK。
UNITY_PLATFORM_SUPPORTS_DEPTH_FETCH如果 RenderPass 可以使用其深度附件作为输入,则会设置 UNITY_PLATFORM_SUPPORTS_DEPTH_FETCH。