CG學習記錄(一)資料型別

2021-10-06 17:34:55 字數 1312 閱讀 8638

1.float 32位浮點數,乙個符號位

2.half 16位浮點數

3.int 32位整型資料

4.fixed 12位定點數

5.bool 布林值

6.sampler* 紋理物件控制代碼

包括sampler,sampler1d,sample2d,sample3d,samplecube,samplerrect

7.string字串型別

1.向量

向量不能超過4元,可以宣告float1、float2、float3、float4型別的陣列變數,但宣告float5則會報錯

向量一般初始化為 float4 array = float4(1.0,2.0,3.0,4.0);

向量可以由低元向量構建 float2 x = float2(1.0,1.0);

float4 y = float4(a,1.0,1.0);

2.矩陣

矩陣的最大維數不能超過4*4階

矩陣的一般初始化為 float2x3 matrix5 = ;

上述表示2*3階的矩陣,包含6個float型別資料

在著色器程式中,通過陣列將大量引數傳入到cg的頂點程式中的形參介面。

陣列的宣告:

float a[10] #宣告了乙個包含10個float型別資料的陣列

float4 b[10] #宣告了乙個包含10個float4型別向量資料的陣列

陣列的初始化:

float a[4] =

獲取陣列長度:

float a[10];

int l = a.length

宣告多維陣列以及初始化的方式如下所示:

float b[2][3] = ,}

獲取多維度陣列長度:

int l1 = b.length #l1為2

int l2 = b[0].length #l2為3

宣告結構體:

struct first

};first s;

使用結構體中的成員和方法:

float a = s.val1;

float b = s.add(a);

float a = 1.0;

half b = 2.0;

float c = a + b;//等價於 float c = a + (float)b;

float a = 1.0;

float b = a + 2.0 編譯當作float型別計算

float a = 1.0;

float b = a + 2.0h; // 2.0h為half型別常量資料,運算需要做型別轉換;x表示fixed

cg資料型別

cg 支援7 種基本的資料型別 float,32 位浮點資料,乙個符號位。浮點資料型別被所有的profile 支援 但是directx8 pixel profiles 在一些操作中降低了浮點數的精度和範圍 half,16 為浮點資料 int,32 位整形資料,有些profile 會將int 型別作為...

cg資料型別

cg 支援7 種基本的資料型別 1.float,32 位浮點資料,乙個符號位。浮點資料型別被所有的profile 支援 但是directx8 pixel profiles 在一些操作中降低了浮點數的精度和範圍 2.half,16 為浮點資料 3.int,32 位整形資料,有些profile 會將in...

python學習(一)資料型別

python3 中有六個標準的資料型別 number 數字 string 字串 list 列表 tuple 元組 sets 集合 dictionary 字典 python3 支援 int float bool complex 複數 在python 3裡,只有一種整數型別 int,表示為長整型,沒有 ...