包含此页的版本:
不含此页的版本:
这是列表着色器在 GPU 上运行的程序。更多信息
请参阅术语表Unity 使用的模型,以及#pragma require每个值对应的值。
注意:Unity 的着色器模型类似于 DirectX 着色器模型和 OpenGL 版本要求,但它们并不完全对应。仔细阅读说明,以确保您了解其中的差异。
| 价值 | 描述 | 支持 | 等效#pragma require值 |
|---|---|---|---|
2.0 |
等效于 DirectX 着色器模型 2.0。 数量 有限的算术和纹理指令;8 个插值器;无顶点纹理采样;片段着色器中没有衍生物;没有显式LOD纹理采样。 |
适用于 Unity 支持的所有平台。 | 不适用 |
2.5 |
与 3.0 几乎相同,但只有 8 个插值器,并且没有显式 LOD 纹理采样。 | DirectX 11 功能级别 9+ OpenGL 3.2+ Vulkan Metal |
derivatives |
3.0 |
相当于 DirectX 着色器模型 3.0。 。 |
DirectX 11 功能级别 10 + OpenGL 3.2+ OpenGL ES 3.0+ Vulkan Metal |
一切2.5加:interpolators10 samplelod fragcoord
|
3.5 |
相当于 OpenGL ES 3.0。 |
DirectX 11 功能级别 10+ OpenGL 3.2+ OpenGL ES 3+ Vulkan Metal |
一切3.0加:interpolators15 mrt4 integers 2darray instancing
|
4.0 |
等效于 DirectX 着色器模型 4.0,但不需要支持 8 个 MRT。 | DirectX 11 功能级别 10+ 桌面 OpenGL 3.x OpenGL ES 3.1 OpenGL ES 3.1 + Android 扩展包 (AEP) OpenGL 3.2+ Vulkan Metal(如果未定义几何阶段) |
一切3.5加:geometry
|
gl4.1 |
等效于 OpenGL 4.1 | 桌面版 OpenGL 4.1 着色器模型 4.0 + 曲面细分,以匹配 macOS 10.9 功能。 |
一切4.0加:cubearray tesshw tessellation msaatex
|
4.5 |
相当于 OpenGL ES 3.1。 | DirectX 11 功能级别 11+ OpenGL 4.3+ OpenGL ES 3.1 Vulkan Metal |
一切3.5加:compute randomwrite msaatex
|
4.6 |
相当于 OpenGL 4.1。 这是 Mac 上支持的最高 OpenGL 级别。 |
DirectX 11 功能级别 11+ OpenGL 4.1+ OpenGL ES 3.1 + AEP Vulkan Metal(如果未定义几何级,并且未定义外壳或域级) |
一切4.0加:cubearray tesshw tessellation msaatex
|
5.0 |
等效于 DirectX 着色器模型 5.0,但不需要支持 32 个插值器或立方体贴图数组。 | DirectX 11 功能级别 11+ 桌面 OpenGL >= 4.2 OpenGL 4.3+ OpenGL ES 3.1 + AEP Vulkan Metal(如果未定义几何级,并且未定义外壳或域级) |
一切4.0加:compute randomwrite msaatex tesshw tessellation
|
有关控制台平台的着色器模型支持的信息,请参阅特定于平台的文档。
笔记:
mrt8,着色器模型 5.0 包括interpolators32和cubearray.为了获得更广泛的兼容性,Unity 不包括这些内容。若要要求这些功能,请使用显式#pragma require命令。geometry但着色器未定义几何阶段,Unity 会删除geometry从编译时的需求列表中。tessellation但您的着色器未定义外壳或域阶段,Unity 会删除tessellation从编译时的需求列表中。