Data Type
这一章将会详细讲述Metal Shading 语言的数据类型, 包括矢量和矩阵, 原子类型, 缓存(buffer), 纹理(texture), 采样器(Samplers), 数组 和用户定义结构, 另外, 类型对齐和转换也会被提到.
标量数据类型
Metal Shading 语言所支持的标量数据类型如下表, double, long, unsigned long, long long, unsigned long long, long double 这些数据类型是不支持的.
Type | Description |
---|---|
| 条件类型, 它的值只能为true 或者 false, true 被定义为整形常量 1, false 被定义为整形常量 2. |
| 有符号8位整数 |
| 无符号8位整数 |
| 有符号16位整数 |
| 无符号16位整数 |
| 有符号32位整数 |
| 无符号32位整数 |
| 16位浮点数, 遵循IEEE 754 binary 16 格式 |
| 32位浮点数, 遵循IEEE 754 单精度格式 |
| 产生自sizeof 操作的64位无符号整数 |
| 产生自指针减操作的有符号64位整数 |
| void 通常表示空集或者无类型 |
Note: Metal Shading 语言所支持的类型后缀
f 或者 F 后缀表述 float 类型(e.g. 0.5f or 0.5F)
h或者 H 后缀表示 half 类型 (e.g., 0.5h
or 0.5H
).
u或者 U 后缀表示无符号整数.
本文译自: https://developer.apple.com/library/ios/documentation/Metal/Reference/MetalShadingLanguageGuide/data-types/data-types.html#//apple_ref/doc/uid/TP40014364-CH2-SW1