Unity3D Shader編程 | 學(xué)習(xí)筆記(三)

Unity3D Shader編程 ?原文鏈接:

http://blog.csdn.net/zhmxy555/article/category/2681301


VS Shader插件

今天裝了一個(gè)可以在VS中寫Shader的插件抛虏,有高亮和自動(dòng)提示的功能。唯一不好的就是不能自動(dòng)格式化膏萧,強(qiáng)迫癥患者表示很傷……

下載地址:

http://blog.shuiguzi.com/2014/10/28/Release/index.html


子著色器(SubShader)詳解

在第三篇文章里,對(duì)子著色器的寫法做了很詳細(xì)的講解,用文字的方式列出來結(jié)構(gòu)不明顯,所以我做了一個(gè)結(jié)構(gòu)圖,如下。其中可能有一些不清晰或錯(cuò)的地方,后面可能會(huì)更新购岗。如果大家想更詳細(xì)的了解一下,可以參考上述博客的《【Unity3D Shader編程】之三 光之城堡篇:子著色器门粪、通道與標(biāo)簽的寫法 & 紋理混合》喊积。


SubShader結(jié)構(gòu)圖



第四篇文章概念性的內(nèi)容比較少,就先整理第四騙的概念玄妈,這兩篇的實(shí)戰(zhàn)練習(xí)留到下一篇寫乾吻。

剔除 (Culling) 與深度測試 (Depth Testing)

1.剔除

不繪制被擋住或視角以外的我們看不到的物體。

2.深度測試

深度測試可以簡化復(fù)雜場景的繪制拟蜻,確保只有場景內(nèi)的對(duì)象的最靠近的表面參與繪制绎签。

3.相關(guān)語句

Cull?Back | Front | Off

用于控制幾何體的哪一面會(huì)被剔除(也就是不被繪制) 。其中:

Back:不繪制背離觀察者的幾何面

Front:不繪制面向觀察者的幾何面瞭郑,用于由內(nèi)自外的旋轉(zhuǎn)對(duì)象

Off:顯示所有面辜御。用于特殊效果鸭你。

ZWrite ?On | Off

此語句用于控制是否將來之對(duì)象的像素寫入深度緩沖(默認(rèn)開啟)屈张,如果需要繪制純色物體,便將此項(xiàng)打開袱巨。如果要繪制半透明效果阁谆,關(guān)閉深度緩沖。

ZTest ?Less | Greater | LEqual | GEqual | Equal | NotEqual | Always

此語句用于控制深度測試如何執(zhí)行愉老。缺省值是LEqual (繪制和存在的對(duì)象一致或是在其中的對(duì)象场绿;隱藏其背后的對(duì)象)。

Offset ?Factor ,Units

此語句用兩個(gè)參數(shù)(Facto和Units)來定義深度偏移嫉入。Factor參數(shù)表示 Z縮放的最大斜率的值焰盗。Units參數(shù)表示可分辨的最小深度緩沖區(qū)的值璧尸。

于是,我們就可以強(qiáng)制使位于同一位置上的兩個(gè)集合體中的一個(gè)幾何體繪制在另一個(gè)的上層熬拒。例如偏移量Offset 設(shè)為0, -1(即Factor=0, Units=-1)的值使得靠近攝像機(jī)的幾何體忽略幾何體的斜率爷光,而偏移量為-1,-1(即Factor =-1, Units=-1)時(shí),則會(huì)讓幾何體偏移一個(gè)微小的角度澎粟,讓觀察使看起來更近些蛀序。


Alpha測試(Alpha testing)

在最終渲染出的顏色被計(jì)算出來之后,可選擇通過將顏色的透明度值和一個(gè)固定值比較活烙。如果比較的結(jié)果失敗徐裸,像素將不會(huì)被寫到顯示輸出中。評(píng)論里有人說這段話說的不對(duì)啸盏,不是和透明度比較重贺,而是和深度比較,就像下面那句話一樣回懦。這里讀的時(shí)候確實(shí)感到有點(diǎn)矛盾檬姥,但是目前接觸到的資料比較少,等以后有了更深入的理解再進(jìn)行修正粉怕。

Alpha測試在渲染凹形物體的透明部分時(shí)非常有用健民。顯卡上有著每個(gè)像素寫到屏幕上的深度記錄。如果一個(gè)新的像素比原來的像素的深度深贫贝,那么新的像素就不會(huì)被寫到屏幕中秉犹。

AlphaTest?Off

此語句用于渲染所有像素(缺省)稚晚。

AlphaTest ?comparison AlphaValue

comparison 取值同上面的 ZTest崇堵。

基本霧效(Fog)

霧化是通過混合已生成的像素的顏色和基于到鏡頭的距離來確定的最終的顏色來完成的。霧化不會(huì)改變已經(jīng)混合的像素的透明度值客燕,只是改變RGB值鸳劳。

Fog ?{?FogCommands?}

此語句用于設(shè)定霧命令的內(nèi)容,具體的填在大括號(hào)之中的內(nèi)容見下面的語句也搓。

Mode ?Off | Global | Linear | Exp | Exp2

此語句用于定義霧模式赏廓。缺省是全局的,依據(jù)霧在渲染設(shè)定中是否打開確定可從無變化到平方值傍妒。

Color ?ColorValue

此語句用于設(shè)定霧的顏色值幔摸。

Density ?FloatValue

此語句以指數(shù)的方式設(shè)定霧的密度。

Range ?FloatValue, FloatValue

此語句用于為linear類型的霧設(shè)定遠(yuǎn)近距離值颤练。



最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末既忆,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌患雇,老刑警劉巖跃脊,帶你破解...
    沈念sama閱讀 222,000評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異苛吱,居然都是意外死亡匾乓,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門又谋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來拼缝,“玉大人,你說我怎么就攤上這事彰亥∵制撸” “怎么了?”我有些...
    開封第一講書人閱讀 168,561評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵任斋,是天一觀的道長继阻。 經(jīng)常有香客問我,道長废酷,這世上最難降的妖魔是什么瘟檩? 我笑而不...
    開封第一講書人閱讀 59,782評(píng)論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮澈蟆,結(jié)果婚禮上墨辛,老公的妹妹穿的比我還像新娘。我一直安慰自己趴俘,他們只是感情好睹簇,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,798評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著寥闪,像睡著了一般太惠。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上疲憋,一...
    開封第一講書人閱讀 52,394評(píng)論 1 310
  • 那天凿渊,我揣著相機(jī)與錄音,去河邊找鬼缚柳。 笑死埃脏,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的喂击。 我是一名探鬼主播剂癌,決...
    沈念sama閱讀 40,952評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼淤翔,長吁一口氣:“原來是場噩夢啊……” “哼翰绊!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,852評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤监嗜,失蹤者是張志新(化名)和其女友劉穎谐檀,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體裁奇,經(jīng)...
    沈念sama閱讀 46,409評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡桐猬,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,483評(píng)論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了刽肠。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片溃肪。...
    茶點(diǎn)故事閱讀 40,615評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖音五,靈堂內(nèi)的尸體忽然破棺而出惫撰,到底是詐尸還是另有隱情,我是刑警寧澤躺涝,帶...
    沈念sama閱讀 36,303評(píng)論 5 350
  • 正文 年R本政府宣布厨钻,位于F島的核電站,受9級(jí)特大地震影響坚嗜,放射性物質(zhì)發(fā)生泄漏夯膀。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,979評(píng)論 3 334
  • 文/蒙蒙 一苍蔬、第九天 我趴在偏房一處隱蔽的房頂上張望诱建。 院中可真熱鬧,春花似錦碟绑、人聲如沸涂佃。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽辜荠。三九已至,卻和暖如春抓狭,著一層夾襖步出監(jiān)牢的瞬間伯病,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評(píng)論 1 272
  • 我被黑心中介騙來泰國打工否过, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留午笛,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,041評(píng)論 3 377
  • 正文 我出身青樓苗桂,卻偏偏與公主長得像药磺,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子煤伟,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,630評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容