Godot Shader 05-了解shader

工作原理

對一個矩形區(qū)域操作
cpu下的代碼執(zhí)行方式:(依次執(zhí)行)

for x in range(width):
  for y in range(height):
    set_color(x, y, some_color)

gpu執(zhí)行方式: (并發(fā)執(zhí)行)
每個像素都會執(zhí)行一次這個函數(shù)

void fragment() {
  COLOR = some_color;
}

gpu運算優(yōu)缺點

優(yōu)點:

  • 位置頂點處理速度飛快
  • 處理顏色速度飛快
  • 處理光照效果速度飛快
  • 可處理大量的數(shù)學計算

缺點:

  • 不能網(wǎng)格外繪制
  • 不能在當前像素/頂點下處理其他像素/頂點
  • 不能存儲上一次效果
  • 不能熱更新? (update on the fly (they can, but they need to be compiled))

結(jié)構(gòu)

godot下只有三個主函數(shù)vertex(), fragment(), light()
vertex()對每個網(wǎng)格上的頂點都進行處理
·fragment()·對每個像素處理
·light()·對光的反應進行處理

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

友情鏈接更多精彩內(nèi)容