CG語言

變量類型

  • float, float4
    適用:世界坐標,紋理坐標
    32位高精度浮點數,精確到小數點后6位

  • half, half4
    適用:短向量,方向,本地坐標,高動態范圍顏色
    16位中精度浮點數,范圍[-60000,60000],精確到小數點后3位

  • fixed, fixed4
    適用:普通顏色
    11位低精度浮點數,范圍[-2,2],精度為1/256

顏色使用fixed;坐標,uv使用float;其它都使用half

  • sampler2D, sampler2D_half, sampler2D_float
    采樣深度貼圖這種需要高精度數據時,使用sampler2D_float類型

  • samplerCUBE, samplerCUBE_half, samplerCUBE_float

  • sampler3D

// float3轉換為float4
float3 normal;
float4 color = float4(normal.xyz, 1);

頂點程序輸入參數類型

  • POSITION
    float4
  • NORMAL
    float3
  • TEXCOORD0
    float2, float3, float4
  • TEXCOORD1, TEXCOORD2, TEXCOORD3
  • GANGENT
    float4
  • COLOR
    float4

常用函數

  • saturate
    返回[0,1]范圍內的值
float3 normal;
float4 color = float4(saturate(normal)xyz, 1);
  • frac
    返回小數部分
float4 color = frac(i.uv);
  • any
    至少有一個值 > 0
if(any(i.normal))
  • all
    所有值都>0
if( all(i.normal) )
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容