material這個需要結合shader來講,計算機圖形學裡本身就沒有material這個東西,引擎加入這個其實是在shader和主程式之間搭建了一座橋梁,可以說material是乙個著色器管理器,所以很多介面都是對shader的控制。
usingsystem;
usingsystem.runtime.compilerservices;
usingunityengine.internal;
namespaceunityengine
//這個是針對該material鎖控制的shader中_color變數操作,獲取該顏色或設定該顏色
publiccolor color
set}
//針對該material鎖控制的shader中_maintex
變數操作,獲取該紋理或設定該紋理
publictexture maintexture
set}
//shader中_maintex的紋理偏移量
publicvector2 maintextureoffset
set}
//_maintex的紋理座標縮放,編輯器上就是對應tiling這個屬性
publicvector2 maintexturescale
set}
//shader中pass的數量
publicextern
int(methodimploptions.internalcall)]
get;
}//設定該材質的渲染佇列,對應了shader中的queue,表示unity在什麼時候渲染自己,可選值:background(1000), geometry(2000), alphatest(2450), transparent(3000), overlay(4000)
publicextern
int(methodimploptions.internalcall)]
set;
}//這相當於是c語言中的巨集定義列表,通過enablekeyword,disablekeyword決定
使用不使用這些巨集來控制shader執行哪部分**
publicextern
(methodimploptions.internalcall)]
set;
}//使用shader裡面字串建立乙個材質
publicmaterial(string contents)
//使用shader建立乙個材質
publicmaterial(shader shader)
//深拷貝乙個材質
publicmaterial(material source)
//設定shader中名為propertyname的變數的值
publicvoid
setcolor(string propertyname, color color)
publicvoid
setcolor(intnameid, color color)
publicvoid
setvector(intnameid, vector4 vector)
//設定shader中名為propertyname的變數的值
publicvector4getvector(string propertyname)
publicvector4getvector(intnameid)
//設定shader中名為propertyname的變數的值
publicvoid
settexture(string propertyname, texture texture)
publicvoid
settexturescale(string propertyname, vector2 scale)
//設定shader中名為propertyname的變數的值為矩陣
publicvoid
setmatrix(string propertyname, matrix4x4 matrix)
publicvoid
setmatrix(intnameid, matrix4x4 matrix)
publicvoid
setint(intnameid,intvalue)
publicintgetint(string propertyname)
publicintgetint(intnameid)
}
Fabric 原始碼解析 原始碼目錄解析
這裡對重要的一些目錄進行說明 bccsp 與密碼學 加密 簽名 證書等等 相關的加密服務 將fabric中用到的密碼學相關的函式抽象成了一組介面,便於拓展。bddtests 一種新型的軟體開發模式 行為驅動開 需求 開發 common 一些公共庫 錯誤處理 日誌處理 賬本儲存 策略以及各種工具等等 ...
Unity 遊戲原始碼
2 1 爐石傳說 客戶端加伺服器端 2 2 新仙劍奇俠傳 2 3 unity3d 戰鬥卡牌 變身吧主公 客戶端 伺服器原始碼 2 4 降臨ol u3d全套原始碼 2 5 武士2復仇 2 6 神啟 全套原始碼 資源 2 7 神廟逃亡之魔境仙蹤 2 8 超級馬里奧64 hd版unity原始碼 2 9 暗...
Unity 遊戲原始碼
2 1 爐石傳說 客戶端加伺服器端 2 2 新仙劍奇俠傳 2 3 unity3d 戰鬥卡牌 變身吧主公 客戶端 伺服器原始碼 2 4 降臨ol u3d全套原始碼 2 5 武士2復仇 2 6 神啟 全套原始碼 資源 2 7 神廟逃亡之魔境仙蹤 2 8 超級馬里奧64 hd版unity原始碼 2 9 暗...