U3d Shader整理筆記(二)

2021-09-26 04:22:24 字數 1147 閱讀 8878

第二篇知識點整理

作者主要介紹如何學習unity shader的基本寫法框架,以及學習shader中properties(屬性)的詳細寫法,光照、材質與顏色的具體寫法。

因為作者說,學習unity中的shader程式設計,最好是之前對opengl或direct3d的渲染狀態等相關知識有乙個基本的了解。額,內心慌得一~~不過作者也給了一些介紹的鏈結,稍稍了解一些就ok(其實我也不太懂,沒接觸過,再加上我的重點在深度上面,所以也沒有細細追究)

shader的種類,裡面關於shader的分類,區分以及作用都描述的很清楚,學習一波直接看原文。還有關於shader的第一行**書寫,關於shader關鍵字的引號「」裡面的書寫方式(書寫方式決定了shader在選單欄中的變現形式,這其實是個技巧)

shader框架寫法

關於shader語句的講解後面,比較詳細

紋理屬性:

name (「display name」, 2d) =「name」

第乙個name:一般就是下劃線_起頭的乙個著色器的名字;

display name:是inspector面板上顯示的名字,2d是紋理的定義的標誌吧,我是這樣理解的,就是float這種資料型別一樣,這裡紋理的定義型別就是2d;

=後面的name:一般在**裡面就是–預設值既可以是乙個空字串也可以是某個內建的預設紋理:「white」, 「black」, 「gray」 or"bump"(當然這個不僅適用2d還有 rect, cube這些型別)

options:是可以選擇的,例如 texgen紋理生成型別:即紋理的自動生成紋理座標時的模式,可以是objectlinear, eyelinear,spheremap, cubereflect, cubenormal的其中之一;這些模式和opengl紋理生成模式相對應。注意如果使用自定義頂點程式,那麼紋理生成將被忽略。 lightmapmode 光照貼圖模式。如果我們給出這個選項,紋理將能被渲染器的光線貼圖屬性所影響。紋理不能被使用在材質中,而是取自渲染器的設定。這個我們以後會講到。

look at 翻譯-最終顏色=環境光反射顏色 渲染設定環境設定 (燈光顏色漫反射顏色+燈光顏色鏡面反射顏色)+自發光

再考慮新增紋理

乾貨不多,大大寫的太詳細,直接參考

u3d shader學習筆記1

促使我學習shader的重要原因是希望深入理解3d渲染的機制,在此基礎上可以靈活達到某種效果與效能的平衡,開發出具有良好體驗的vr應用。因為vr應用體驗的好壞,直接由遊戲的幀率決定,而遊戲的幀率則受到渲染一幀畫面所花時間的影響,因此如何提公升渲染時間,而又可以得到期望的效果,必須要對shader或者...

u3d shader入門寫法

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

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

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