找回密碼
 注冊帳號

掃一掃,訪問微社區

DeadWind UnityShader學習筆記(四)

19
回復
1794
查看
打印 上一主題 下一主題
[ 復制鏈接 ]
排名
39864
昨日變化

6

主題

16

帖子

104

積分

Rank: 9Rank: 9Rank: 9

UID
306031
好友
12
蠻牛幣
103
威望
0
注冊時間
2018-11-26
在線時間
56 小時
最后登錄
2019-12-4

馬上注冊,結交更多好友,享用更多功能,讓你輕松玩轉社區。

您需要 登錄 才可以下載或查看,沒有帳號?注冊帳號

x
本帖最后由 DeadWind 于 2019-8-28 09:57 編輯

emm...兄弟盟我回來了。兩個星期沒更了,是不是覺得我放棄了,還是失蹤了?前段時間因為跳槽換公司,熟悉新環境,并且加班也比較多,所以就偷懶,沒寫博客。現在緩過來了,繼續我們的shader入門到放棄。加油!!!

上一篇我們講的是渲染流水線的三個階段,分別是應用階段,幾何階段,光柵化階段。同時簡單的列舉了這三個階段所做的事情。如果忘記了就回去看看UnityShader學習筆記(三)。本篇我們繼續講上一篇的內容,更深入的了解一下。


應用階段:


上一篇應用階段我們列舉了三項:場景數據、剔除Culling、設置渲染狀態。場景數據和剔除比較容易理解我們就不再討論了,兄弟盟想要更熟悉的話可以自行查閱。這里我們就再簡單介紹一下設置渲染狀態其實是在做什么。

設置渲染狀態:渲染狀態通俗的解釋是,這些狀態定義了場景中的網格是怎樣被渲染的。例如,使用哪個頂點著色器/片元著色器、光源屬性、材質等。如果我們沒有更改渲染狀態,那么所有的網格都將使用同一種渲染狀態,如下圖顯示了當使用同一種渲染狀態時,渲染3個不同網格的內容。


再此之后CPU就會“通知”GPU開始干活,這里的“通知”其實就是DrawCall。關于DrawCall我打算后面單獨寫一篇來介紹一下。


幾何階段:

幾何階段我們在上一篇分為了五項:模型視圖轉換、頂點著色、投影、裁剪、屏幕映射。這里我們逐個分析。

模型視圖轉換:其實就坐標轉換,在頂點著色器中進行。坐標轉換,對頂點(既位置)進行某種變化。首先我們需要了解幾個坐標類型:Object space(模型坐標空間)、World space (世界坐標空間)、Eye spac(觀察坐標空間)、Clip space(裁剪坐標空間)、Clip and Project spac(屏幕坐標空間。如果不清楚這五種坐標空間可以先去了解一下。那這里的坐標轉換就是將三維的坐標數據繪制到二維屏幕上。例如,由模型空間轉換為世界空間,再由世界空間轉換為觀察空間,之后再由觀察空間轉換為裁剪空間


頂點著色:就是確定模型上頂點處材質的光照效果。emmm...

投影:投影分為正交投影和透視投影。正交投影:正交投影的可視體通常是一個矩形,正交投影可以把這個視體變換為單位立方體。正交投影的主要特性是平行線在變換之后彼此之間仍然保持平行,這種變換是平移與縮放的組合。透視投影:相比之下,透視投影比正交投影復雜一些。在這種投影中,越遠離攝像機的物體,它在投影后看起來越小。更進一步來說,平行線將在地平線處會聚。透視投影的變換其實就是模擬人類感知物體的方式。

裁剪:一個圖元和攝像機視野的關系有3種:完全在視野內、部分在視野內、完全在視野外。完全在視野內的圖元就繼續傳遞給下一個流水線階段,完全在視野外的圖元不會繼續向下傳遞,因為它們不需要被渲染。而那些部分在視野內的圖元需要進行一個處理,這就是裁剪。例如,一條線段的一個頂點在視野內,而另一個頂點不在視野內,那么在視野外部的頂點應該使用一個新的頂來代替,這個新的頂點位于這條線段和視野邊界的交點處。

這里再講一下裁剪和應用階段中的剔除的區別,剔除:在應用程序階段,能夠判斷物體不在視錐體內并且與視錐體的6個面沒有交叉,那么就把物體剔除,不再發給幾何階段;裁剪:物體與視錐體的6個面有交叉,意味著物體的一部分在視錐體內,一部分在視錐體外,那么在幾何處理階段完成投影后,就得把視錐體外的物體裁剪,不再發給屏幕映射。






屏幕映射:這一步輸入的坐標仍然是三維坐標系下的坐標(范圍在單位立方體內)。屏幕映的任務是把每個圖元的x和y坐標轉換到屏幕坐標下。屏幕坐標系是一個二維坐標系,它與我們用于顯示畫面的分辨率有很大關系。


本篇就先寫到這吧。光柵化就留到下一篇啦。因為留下一點沒寫完,這樣會更有動力讓我繼續寫,哈哈哈。(借口)

本篇參考文獻:

《UnityShader入門精要》-- 馮樂樂,人民郵電出版社,2018年3月第11次印刷。請支持正版!

《Real-Time Rendering 3rd》提煉總結 -- https://blog.csdn.net/poem_qianmo/article/details/70544201


回復

使用道具 舉報

15

主題

25

帖子

218

積分

Rank: 9Rank: 9Rank: 9

UID
327626
好友
6
蠻牛幣
87
威望
0
注冊時間
2019-7-19
在線時間
164 小時
最后登錄
2019-12-1
沙發
2019-8-28 18:48:01 只看該作者
日常膜拜
回復

使用道具 舉報

0

主題

27

帖子

74

積分

Rank: 2Rank: 2

UID
321411
好友
0
蠻牛幣
420
威望
0
注冊時間
2019-5-7
在線時間
47 小時
最后登錄
2019-9-15
板凳
2019-8-28 21:15:44 只看該作者
敬你一杯
回復

使用道具 舉報

2初來乍到
147/150
排名
28932
昨日變化

0

主題

53

帖子

147

積分

Rank: 2Rank: 2

UID
21931
好友
0
蠻牛幣
434
威望
0
注冊時間
2014-4-18
在線時間
82 小時
最后登錄
2019-12-4
QQ
地板
2019-8-28 22:21:19 只看該作者
學習學習~~
回復

使用道具 舉報

6蠻牛粉絲
1209/1500
排名
2066
昨日變化

0

主題

275

帖子

1209

積分

Rank: 6Rank: 6Rank: 6

UID
26073
好友
1
蠻牛幣
4738
威望
0
注冊時間
2014-5-21
在線時間
266 小時
最后登錄
2019-12-9
5#
2019-8-29 08:55:07 只看該作者
學習一下,棒棒的!
回復

使用道具 舉報

4四處流浪
481/500
排名
10596
昨日變化

2

主題

237

帖子

481

積分

Rank: 4

UID
328743
好友
0
蠻牛幣
342
威望
0
注冊時間
2019-8-5
在線時間
142 小時
最后登錄
2019-12-2
6#
2019-8-29 09:06:46 只看該作者
6666666666666666
回復 支持 反對

使用道具 舉報

3偶爾光臨
266/300
排名
64938
昨日變化

0

主題

15

帖子

266

積分

Rank: 3Rank: 3Rank: 3

UID
305748
好友
0
蠻牛幣
1004
威望
0
注冊時間
2018-11-23
在線時間
249 小時
最后登錄
2019-12-9
7#
2019-8-29 09:32:19 只看該作者
膜拜大佬
沒更新以為被野人抓跑了
回復 支持 反對

使用道具 舉報

5熟悉之中
591/1000
排名
9490
昨日變化

0

主題

232

帖子

591

積分

Rank: 5Rank: 5

UID
292197
好友
0
蠻牛幣
1040
威望
0
注冊時間
2018-8-2
在線時間
239 小時
最后登錄
2019-12-9
8#
2019-8-29 09:35:02 只看該作者
thinks for share!
回復

使用道具 舉報

6蠻牛粉絲
1048/1500
排名
10708
昨日變化

0

主題

754

帖子

1048

積分

Rank: 6Rank: 6Rank: 6

UID
301976
好友
1
蠻牛幣
1582
威望
0
注冊時間
2018-10-31
在線時間
196 小時
最后登錄
2019-12-9
9#
2019-8-29 11:05:13 只看該作者
Nice。。。。
回復

使用道具 舉報

2初來乍到
118/150
排名
28932
昨日變化

0

主題

43

帖子

118

積分

Rank: 2Rank: 2

UID
205309
好友
0
蠻牛幣
0
威望
0
注冊時間
2017-2-6
在線時間
63 小時
最后登錄
2019-12-6
10#
2019-8-29 14:10:57 只看該作者
非常非常好 支持好  非常棒  老厲害了
回復 支持 反對

使用道具 舉報

2初來乍到
109/150
排名
24130
昨日變化

0

主題

53

帖子

109

積分

Rank: 2Rank: 2

UID
235432
好友
0
蠻牛幣
113
威望
0
注冊時間
2017-8-2
在線時間
38 小時
最后登錄
2019-12-5
11#
2019-8-29 14:52:35 只看該作者
thanks for your share
回復 支持 反對

使用道具 舉報

7日久生情
2527/5000
排名
4094
昨日變化

0

主題

1747

帖子

2527

積分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
254705
好友
1
蠻牛幣
2268
威望
0
注冊時間
2017-11-16
在線時間
418 小時
最后登錄
2019-12-9
12#
2019-8-30 08:06:18 只看該作者
6666666666666666666666666666
回復 支持 反對

使用道具 舉報

5熟悉之中
884/1000
排名
4112
昨日變化

1

主題

321

帖子

884

積分

Rank: 5Rank: 5

UID
245227
好友
0
蠻牛幣
1079
威望
0
注冊時間
2017-9-21
在線時間
202 小時
最后登錄
2019-12-5
13#
2019-8-30 09:35:15 只看該作者
水 繼續水
回復

使用道具 舉報

7日久生情
3308/5000
排名
322
昨日變化

1

主題

416

帖子

3308

積分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
2219
好友
1
蠻牛幣
9670
威望
0
注冊時間
2013-8-19
在線時間
1053 小時
最后登錄
2019-12-9
14#
2019-9-2 15:19:17 只看該作者
灰常好看的筆記
回復

使用道具 舉報

排名
64938
昨日變化

0

主題

2

帖子

7

積分

Rank: 1

UID
283473
好友
0
蠻牛幣
8
威望
0
注冊時間
2018-5-30
在線時間
3 小時
最后登錄
2019-9-4
15#
2019-9-2 16:02:02 只看該作者
日常膜拜
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 注冊帳號

本版積分規則

法甲球队主场名称