久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

【風宇沖】Unity3D教程寶典之Shader篇:第一講Shader總篇

 落寞風吹雨 2016-10-21
\

【風宇沖】Unity3D教程寶典之Shader篇:第一講Shader總篇

2012-12-15 18:13閱讀:58,474
原創(chuàng)文章如需轉載請注明:轉載自風宇沖Unity3D教程學院
引言,在Unity3d里,所有的圖形繪制都必須通過Shader,即著色器。一般的使用過程中,,我們用到的都是unity自帶的Shader,即build-in shader。學習Shader后,自己寫的Shader能做出很多你想要的特殊效果,增強游戲的畫面表現(xiàn),。例如 水的倒影。 LOGO的光影閃過等等效果等等,。
Shader的分類
Shader按管線分類一般分為固定渲染管線與可編程渲染管線
1)固定渲染管線 ——這是標準的幾何&光照(Transforming&Lighting)管線,,功能是固定的,它控制著世界,、視,、投影變換及固定光照控 制和紋理混合。T&L管線可以被渲染狀態(tài)控制,,矩陣,,光照和采制參數(shù)。功能比較有限,?;舅械娘@卡都能正常運行。
2)可編程渲染管線——對渲染管線中的頂點運算和像素運算分別進行編程處理,,而無須象固定渲染管線那樣套用一些固定函數(shù),,取代設置參數(shù)來控制管線,。
Unity3d的三種Shader
Unity的Shader分為三種:
(1)Fixed function shader 屬于固定渲染管線 Shader, 基本用于高級Shader在老顯卡無法顯示時的Fallback(之后有詳細介紹)。使用的是ShaderLab語言,,語法與微軟的FX files 或者NVIDIA的 CgFX類似,。
(2)Vertex and Fragment Shader 最強大的Shader類型,屬于可編程渲染管線. 使用的是CG/HLSL語法,。
(3)Surface Shader Unity3d推崇的Shader類型,,使用Unity預制的光照模型來進行光照運算。使用的也是CG/HLSL語法,。
Unity3d三種Shader對比
三種Shader共同點:
(1)都必須從唯一一個根Shader開始
(2)Properties參數(shù)部分,,作用及語法完全相同
(3)具體功能都在SubShader里(Subshader: 子Shader,Shader會自上而下運行第一個硬件能支
加載中...
內(nèi)容加載失敗,點擊此處重試
加載全文
持的Subshader,,主要作用是對不用硬件的支持,。)
(4)都可以打標簽,例如Tags { 'RenderType' = 'Opaque' } LOD 200 以及Lighting On等
(5)都可以Fallback
(6)都可以處理基本的功能,,例如光照漫反射(Diffuse)以及鏡面反射(Specular),。但是Vertex and Fragment和Surface都能實現(xiàn)Fixed function實現(xiàn)不了的高級功能,例如基于uv計算的效果等等,。
三種Shader不同點:
(1)Fixed function shader以及Vertex and Fragment Shader在subshader下面還有pass{},但是Surface Shader,,由于已經(jīng)將具體內(nèi)容打包在光照模型了,不能加pass{},加了會報錯,。
(2)Fixed function shader每句代碼之后沒有分號';' 但是V&F shader以及Surface shader每句代碼之后都必須加分號';'
(3)核心結構不同:
Fixed function shader的核心是
Material{} 以及 SetTexture[_MainTex]{}
Vertex and Fragment Shader的核心是
CGPROGRAM #pragma vertex vert #pragma fragment frag #include 'UnityCG.cginc' ENDCG Surface Shader的核心是
(1)這套用的是Unity3d自帶光照模型Lambert,,也不做頂點處理,那么只需要一個表面處理函數(shù)surf即可
CGPROGRAM
#pragma surface surf Lambert
ENDCG
或者(2)這套表示使用的是自己寫的光照模型lsyLightModel,,并且使用了頂點處理函數(shù)vert
CGPROGRAM
// surface 表面處理函數(shù) 光照模型函數(shù) 頂點處理:函數(shù)
#pragma surface surf lsyLightModel vertex:vert
//執(zhí)行順序 頂點處理函數(shù) -> 表面處理函數(shù) -> 光照模型函數(shù) ->顏色值

    本站是提供個人知識管理的網(wǎng)絡存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導購買等信息,謹防詐騙,。如發(fā)現(xiàn)有害或侵權內(nèi)容,,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多