cg語言基礎
我們來嘗試寫乙個自己的shader
shader "custom/textshader"
subshader
lighting on //開啟燈光
如果想讓material**塊起作用,那麼就需要使用lighting on,如果是off,那麼顏色將會從color命令中獲取
在屬性中設定的變數可以通過變數名在subshader中獲取到,可以將其屬性值以變數的形式儲存,如
subshader{
half4 _color//因為_color裡有rgba四個值,所以這裡是half4,如果是half2*2則是二階矩陣
}
也可以將其儲存在結構體中,又或者以[name]的形式直接使用(如上面例子中的diffuse[_color]
)
cg支援7種基本的資料型別
1、float,32位浮點資料,乙個符號位。浮點資料型別被所有的圖形介面支援;
2、half,16位浮點資料;
3、int,32位整形資料
4,fixed,12位定點數,
5、bool,布林資料,被所有的圖形介面支援;
6、sampler*,紋理物件的控制代碼,分為sampler、sampler1d、sampler2d、sampler3d、samplercube和samplerrect
寫的第乙個Shader
第乙個茶壺是可以運動的紋理,用時間的正弦值和余弦值加在紋理座標上產生偏移實現的,可以考慮用來實現水面的各種效果 第二個茶壺是顏色和紋理的混合,多層紋理的混合應該也是同樣的道理,就是把顏色值相乘就可以了 anipass float4x4 matviewprojection float fsintime...
自己寫乙個LIST
pragma once forward declarations templateclass clistnode templateclass clist template class clistnode void insertafter t data template void clistnode ...
自己寫乙個框架
自己寫乙個框架 單入口mvc 類 庫 屬於擴充套件 乙個好的配置檔案和讀取功能 db介面 dispather.php index.php dispather 分析controller action 根據分析controller action 動態載入 引入乙個自動載入機制 controller.ph...