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齐的博客!