Unity Shader 基礎知識記錄

2021-08-16 19:16:57 字數 1173 閱讀 5822

首先謝謝大家的支援,其次如果你碰到什麼其他問題的話,歡迎來 我自己的乙個 討論群559666429來,大家一起找答案,共同進步

你能看到這篇文章,說明你最近在和我做一樣的事情(學習shader)。由於也是剛開始學習,此處也是整理一些基礎的知識。

unity官網資源** : 著色器

貓都能學會的unity shader

unity 官方shder教程

乙個大神的個人**

乙個cg大神的csdn

shadertoy-這個更厲害了,一看就是高階貨,一般人我不分享的

其中鏈結二《貓都能學會的unity shader 入門指南(一)》中對unity shder 的 框架結構進行了透徹的講解。如果你對 shder一點也會了解的話,建議先去看這個。

向量的點積與它們夾角的余弦成正比,因此在聚光燈的效果計算中,可以根據點積來得到光照效果,如果點積越大,說明夾角越小,則物體離光照的軸線越近,光照越強。

那麼我們就可以通過點積來得到物體此處面受到光照的強度。

下圖中的物體為乙個常見的矩形。矩形中 黃色的線 是 面的 法線。紅色的線 是 頂點的 法線。

那麼我們要做的就是計算燈光照射過來的的方向與物體表面法向量(黃色線)的 點積,得出乙個光照在此面的強度。然後使用這個值對物體表面進行不同的顏色的改變。官方解釋

shader 中的**呈現:

inline float4 lightingcustomdiffuse (su***ceoutput s, fixed3 lightdir, fixed atten)
順便再說一下 half lambert燈光模型。這個技術最早用在遊戲《半條命》中,以避免在低光下物體的走形。方法很簡單,就是把光強度係數先取一半,再加上0.5f。這樣,原來光強度是0的點,就成了0.5f。而原來為 1的點 還保持為1。

inline float4 lightingcustomdiffuse (su***ceoutput s, fixed3 lightdir, fixed atten)

C 基礎知識整理 基礎知識(2) 類

類,是物件導向語言的基礎。類的三大特性 封裝 繼承 多型。最基本的特性就是封裝性。程式設計師用程式描述世界,將世界的所有事物都看成物件,怎麼描述這個物件?那就是類了。也就是用類來封裝物件。用書上的話說,類是具有相同屬性和行為的物件的抽象。寶馬汽車 別克汽車 五菱之光汽車.基本具有相同的屬性和行為,所...

C 基礎知識整理 基礎知識(2) 類

類,是物件導向語言的基礎。類的三大特性 封裝 繼承 多型。最基本的特性就是封裝性。程式設計師用程式描述世界,將世界的所有事物都看成物件,怎麼描述這個物件?那就是類了。也就是用類來封裝物件。用書上的話說,類是具有相同屬性和行為的物件的抽象。寶馬汽車 別克汽車 五菱之光汽車.基本具有相同的屬性和行為,所...

電腦的基礎知識 電腦的基礎知識

電腦的組成部分與其作用 一 軟體系統 軟體系統的組成分別是 作業系統 應用軟體等。其應用軟體是指特定領域開發 並為特定目的服務的一類軟體。而作業系統是位於底層硬碟與使用者之間溝通的橋梁。使用者可以通過作業系統的使用者頁面,輸入命令,實現使用者需求。二 硬體系統 硬體系統是指構成計算機的物理裝置,即由...