浮点

精度 位数 多维形式 应用场景
float 32 float2, float3, float4 位置、UV等需要高精度的计算
half 16 half2, half3, half4 方向、法线、颜色等一般性精度需求,或移动端优化需要
fixed - fixed2fixed3fixed4 设计初衷:普通非HDR颜色值、简单数值表示
real - real2, real3, real4 (仅SRP) 通用精度类型: 移动端和Switch平台下表示half, 其余平台为float
  • fixed: 在传统移动平台(如GLES2.0等),fixed 是 11位定点数;在现代平台上:fixed 通常会被当作 half 处理。URP下fixed类型已不可使用
  • half: 当 处于 移动/Switch平台 或 启用 统一着色器精度模型 (UNITY_UNIFIED_SHADER_PRECISION_MODEL) 或 使用 DXC编译器 时,half等价于min16float。(详见Common.hlsl)
  • real:定义在Common.hlsl

整型 int

  • 基本用途:表示整数(0,1,2,…),主要用于数组索引
  • 平台差异
    • Direct3D9/OpenGL ES2.0:自动转为float处理(硬件不支持)
    • Direct3D11/OpenGL ES3.0+:可原生支持整形

矩阵类型

float2x2float3x3float4x4:分别代表2x2、3x3、4x4的浮点数矩阵,用于变换计算等。 同理还有realhalffixed类型的矩阵,后两者比较少见。


采样器

采样器类型 描述 常见用途 对应纹理类型 是否支持Mipmap 是否可用于阴影
sampler 通用采样器(通常用于2D纹理) 旧版本或兼容性写法 2D纹理
sampler2D 2D纹理采样器 漫反射贴图、法线贴图、遮罩贴图等 2D纹理
sampler3D 3D纹理采样器 体积纹理、颜色查找表(LUT)、次表面散射模拟 3D纹理
samplerCube 立方体贴图采样器 环境反射、天空盒、光照探针 立方体贴图
sampler2DShadow 带深度比较功能的2D阴影贴图采样器 阴影映射(如方向光、点光源产生的阴影) 2D深度纹理(ShadowMap)
samplerCubeShadow 带深度比较的立方体阴影贴图采样器 点光源阴影(带方向的全方位阴影) 立方体深度纹理(ShadowMap)
sampler2DArray 2D纹理数组采样器 多层材质混合、地形渲染、动画纹理集 2D纹理数组
samplerBuffer 缓冲区纹理采样器(一维大数组) 存储大量只读数据,如顶点属性或其他缓冲数据 缓冲区纹理(Buffer Texture)
UPR下采样器详见:

版权声明

作者: Cheyne Xie

链接: https://chaim.eu.org/posts/6288c007/

许可证: CC BY-NC-SA 4.0

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. Please attribute the source, use non-commercially, and maintain the same license.

开始搜索

输入关键词搜索文章内容

↑↓
ESC
⌘K 快捷键