US2S3L2——基础数据类型
US2S3L2——基础数据类型
基础数据类型
- 
uint:32为无符号整形 - 
int:32位整形 - 
float:32位浮点数,符号:f - 
half:16位浮点数,符号:h - 
fixed:12位浮点数,Shader最常用的浮点数类型,不需要加后缀 - 
bool:布尔类型 - 
string:字符串 - 
sampler:纹理对象句柄下面都是用于处理纹理(Texture)数据的数据类型,他们的主要区别是纹理的维度和类型
- 
sampler: 通用的纹理采样器,可以用于处理各种不同维度和类型的纹理 - 
sampler1D:用于一维纹理,通常用于对一维纹理进行采样,例如从左到右的渐变色 - 
sampler2D:用于二维纹理,最常见的纹理类型之一。它用于处理二维图像纹理,例如贴图 - 
sampler3D:用于三维纹理,通常用于体积纹理,例如体积渲染 - 
samplerCUBE:用于立方体纹理,通常用于处理环境映射等需要立方体贴图的情况 - 
samplerRECT:用于处理矩形纹理,通常用于一些非标准的纹理映射需求 
 - 
 
1  | uint ui = 12;  | 
基础复合数据类型
- 
数组
声明和C#中类似,与C语言一致
- 
一维
1
int arrayi[4] = { 1, 2, 3, 4 }
注意!CG中无法通过
数组.length 去获取数组长度,
我们只能自己去声明变量来记录数组长度,例如声明int arrayfLength = 4;
来记录数组长度,之后可以用该变量来遍历数组 - 
二维
1
2
3int arrayii[3][3] = { {1,2,3},
{4,5,6},
{7,8,9} } 
 - 
 - 
结构体
和C#基本一样,但是没有访问修饰符,如
public这些
**结构体声明结束加分号** ; ,一般在函数外声明1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18struct Test
{
int i;
float f;
bool b;
};
v2f vert (appdata v)
{
v2f o;
Test t;
t.i = 1;
t.f = 1.2f;
t.b = false;
return o;
} 
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 文KRIFE齐的博客!
