Godot Shader 01-了解

shader開發(fā),需要了解shader的運行原理,它是基于GPU加速輔助運算的。gpu更像是數(shù)量巨大的極簡cpu構成,這樣讓每個像素,每個頂點來進行獨立的運算來達到渲染效果。
https://docs.godotengine.org/zh_CN/latest/tutorials/shading/index.html
Godot的Shader和GLSL有些許不同,這個不同麻,我也不太清楚,因為我沒接觸過??

那么開始吧:

類型 shader_type

首先第一行必須定義shader的類型

shader_type spatial;

你必須通知這個腳本是用在什么類型上的,spatial是用于3d對象,cavas_item是用于2d對象,particles是用于粒子效果上。每種的api不太一樣

渲染模式 render_mode

在第二行可以定義渲染模式,可選

render_mode unshaded, cull_disabled;

處理過程函數(shù)

頂點 vertex

particles對每個粒子調用一次vertex,另外兩個對每個頂點調用

片段 fregment

particles不調用它,另外兩個會在每個像素上調用
片處理可以對色彩,透明,反射等特性進行響應,因為它是被頂點圍成的微小的面,所以整個面上近似的會獲得相同的特性。

燈光 light

light函數(shù)會影響到物體,也會影響到物體上照射到光

shader_type 類型 vertex fregment
spatial 3d渲染 ?/每頂點 ?/每像素
cavas_item 2d渲染 ?/每頂點 ?/每像素
particles 粒子渲染 ?/每粒子 ?

參考:https://thebookofshaders.com

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容