u3d shader學習筆記1

2022-07-29 09:48:13 字數 924 閱讀 8221

促使我學習shader的重要原因是希望深入理解3d渲染的機制,在此基礎上可以靈活達到某種效果與效能的平衡,開發出具有良好體驗的vr應用。

因為vr應用體驗的好壞,直接由遊戲的幀率決定,而遊戲的幀率則受到渲染一幀畫面所花時間的影響,因此如何提公升渲染時間,而又可以得到期望的效果,必須要對shader或者說渲染機制有深入的理解。

一、在u3d中,shader是什麼?shader即「著色器」,我們之所以能夠看到螢幕上豐富多彩的3d畫面,正是得益於它。u3d中與shader相關的概念以及它們同shader間的關係如下圖所示:

當你閉上眼睛,或是關掉房間中的燈時,你前面的物體都看不見了,但是,這個物體仍然是在那裡的,它不會因為你看不見它而消失,從這個角度來說,物體即具有它的自有屬性,正如上圖中的meshfilter部份,這個物體有自身的「骨架」,同時,這個物體也有自身的表面材質,因此,可以說,物體的自有屬性即是「骨架」+「表面材質」。

正是由於不同的物體都有各自的「骨架」和「表面材質」,這樣在我們開啟燈光時,我們才會看到不同的物體。

在我們觀察周圍的世界時,我們會看到很多現像:

1、同乙個場景下,當光線越強時,物體也越明亮,當光線顏色發生變化時,我們看到的物體表面顏色也發生了變化;

2、同乙個場景下,同一盞燈下面,有些物體表面是光滑的,有明顯的高光,而有些物體表面是粗糙的,看起來很柔和;

等等多種不同的視覺現像。。。

那麼這些我們最終看到的畫面,則是在光線照射到物體表面後反射光線進我們的眼睛造成的。具體來說就是物體上每乙個點的反射光進入我們的眼睛,經由我們的大腦的綜合處理,就形成了乙個物體的形像。

其實綜上所述,可以認為:從微觀上看,計算出物體上的每乙個點的反射光線的顏色和強弱就是shader要做的事情

U3d Shader整理筆記(二)

第二篇知識點整理 作者主要介紹如何學習unity shader的基本寫法框架,以及學習shader中properties 屬性 的詳細寫法,光照 材質與顏色的具體寫法。因為作者說,學習unity中的shader程式設計,最好是之前對opengl或direct3d的渲染狀態等相關知識有乙個基本的了解。...

u3d shader入門寫法

星期二的時候,開始要做乙個按鈕切換的效果,功能就是點一下選擇鍵盤,再點一下,選擇藍芽搖桿,其實可以用很簡單,或者很笨,但能用的方法實現 2個png切換 最後決定用shader 真的對 shader一竅不通,結果足足花了2天才完成,1個小功能,2天還是很值得,起碼shader技能1級,get。其實前面...

u3d shader著色器學習筆記(三) 光照

光照模型就是乙個公式,使用這個公式來計算在某個點的光照效果。標準光照模型 在標準光照模型裡,我們把進入攝像機的光分為下面四個部分 自發光高光反射 類似鏡子的反射 specular 直射光的顏色 pow max cos 反射光方向和視野方向的夾角 0 10 漫反射 類似石頭 蘭伯特光照模型 diffu...