浮点

精度 位数 多维形式 应用场景
float 32 float2, float3, float4 位置、UV等需要高精度的计算
half 16 half2, half3, half4 方向、法线、颜色等一般性精度需求,或移动端优化需要
fixed - fixed2, fixed3, fixed4 设计初衷:普通非HDR颜色值、简单数值表示
real - real2, real3, real4 (仅SRP) 通用精度类型: 移动端和Switch平台下表示half, 其余平台为float

整型 int

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

矩阵类型

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


采样器

采样器类型 描述 常见用途 对应纹理类型 是否支持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下采样器详见: {{< link title=“URP下的纹理和纹理采样器” url="/posts/d9145c61" icon="/favicon.ico" >}}

: 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.