Unity Shader Cg/HLSL 数值类型篇
2018-11-15 本文已影响3人
土豆写书
类型 | 精度 |
---|---|
float | 最高精度浮点值,32位存储 |
half | 中等精度浮点值,16位存储 ,范围: -60000 ~ +60000 |
fixed | 最低精度浮点值,11位存储,范围:-2.0 ~ +2.0 |
定义变量
float4 f4;
float3 f3;
float2 f2;
float4 f;
half4 h4;
half3 h3;
half2 h2;
half h;
fixed4 i4;
fixed3 i3;
fixed2 i2;
fixed i;
使用变量
float4 f4;
f4.x += 0.1f;
f4.y += 0.1f;
f4.z += 0.1f;
f4.w += 0.1f;
f4.xy += 0.1f;//等价于 f4.x += 0.1f; f4.y += 0.1f;
依次类推
f4.xyz += 0.1f;
f4.xyzw += 0.1f;
rgba 对应 xyzw 所以也可以这样写
f4.r += 0.1f;
f4.g += 0.1f;
f4.b += 0.1f;
f4.a += 0.1f;
f4.rg += 0.1f;
f4.rgb += 0.1f;
f4.rgba += 0.1f;
float3 f3 对应 xyz 或者 rgb
loat2 f2 对应 xy 或者 rg
一般为了便于阅读,颜色使用rgba访问 坐标则使用 xyzw
float4 color;
color.r += 0.5;
float2 pos;
pos.x += 10;