Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

一、基础数据类型

1.简单数据类型

类型 意义 例子
uint 32 位无符号整型 12
int 32 位整型 -3
float 32 位浮点数 符号:f 1.2f
half 16 位浮点数 符号:h 1.2h
fixed 12 位浮点数 3.2
bool 布尔类型 true
string 字符串类型 "字符串"

2.纹理对象句柄

类型 意义 例子
sampler 通用的纹理采样器,可以用于处理各种不同维度和类型的纹理 /
sampler1D 用于一维纹理,通常用于对一维纹理进行采样 从左到右的渐变色
sampler2D 用于二维纹理,最常见的纹理类型之一,用于处理二维图像纹理 贴图
sampler3D 用于三维纹理,通常用于体积纹理 体积渲染
samplerCUBE 用于立方体纹理,通常用于处理环境映射等需要立方体贴图的情况 /
samplerRECT 用于处理矩形纹理,通常用于处理一些非标准的纹理映射需求 /
  • 这些主要是用于处理纹理(Textrue)数据的数据类型
  • 主要区分是纹理的维度和类型

3.基础复合数据类型

类型 意义 例子
一维数组 和 c# 中类似 int a[4]={1,2,3,4}
二位数组 和 c# 中类似 int b[4][3]={{1,,2,3},{4,5,6}}
结构体 和 c# 中类似 struct test{}

注:

  1. CG 语言中数组无法通过.length来获取长度,需要自己声明变量记录
  2. 结构体和 C# 中类似 但是没有访问修饰符,且一般在函数外声明

二、特殊数据类型

1.向量

1.)特点

  • CG 的内置数据类型
  • 最大维度为四维
  • 数据结构类型可任意

2.)基础构成

1
2
3
4
5
6
7
8
数据类型2  变量名 = 数据类型2(n1,n2)
数据类型3 变量名 = 数据类型3(n1,n2,n3)
数据类型4 变量名 = 数据类型4(n1,n2,n3,n4)

例子:
float2 f2 = fix2(1.2,2.5)
half3 h3 = half3(2.2,2.4,4.5)
int4 i4 = int4(1,2,3,4)

2.矩阵

1.)特点

  • CG 语言内置数据类型
  • 行列数不可小于 2,大于 4
  • 数据结构类型可任意

2.)基础构成

1
2
3
4
5
6
数据类型'n'x'm' 变量名 = {n1m1,n1m2,n1m3,···
n2m1,n2m2,n2m3,···
···}
例子:
int2x3 sampleRect = {1,2,3,
4,5,6}

3.)bool 类型的特殊使用

bool 的向量形式申明 可以用于存储一些的逻辑判断的结果

1
2
3
int2 a = int2(1,2)
int2 b = int2(2,3)
bool2 c = a < b

运算后 c 的值为 bool2(true,true)

评论