[爆卦]Geometry Shader 教學是什麼?優點缺點精華區懶人包

為什麼這篇Geometry Shader 教學鄉民發文收入到精華區:因為在Geometry Shader 教學這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者meowyih (meowyih)看板GameDesign標題[程式] 超新手 shader l...


有人問為什麼 youtube 看的教學都是用拉的,
我前面幾篇都要自己寫 code?

那種拉來拉去的工具叫 Visual Shader Editor,
為了說明 Visual Shader Editor 和 Shader Language 的關係,
我做了個影片,
影片會用 Visual Shader Editor 重寫上面雷射光的 code。

// code 原來大概是長這樣
vec2 uv.y = uv.y - 0.5;
vec4 color = vec4(0.9,0.5,0.3,1);
float coeff = abs(5.0/(200*uv.y));
fragColor = (coeff,coeff,coeff,1)*color;

影片

https://youtu.be/StYf2IEB70U

影片說明

0:00 - 0:23 建立一個 ColorRect
0:23 - 0:55 改畫面大小和顏色
0:55 - 1:09 打開 Visual Shader Editor
1:09 - 1:40 把 Spatial mode 改成 CanvasItem,並建立 uv input
1:40 - 2:28 取得 uv.y 的值
2:28 - 3:01 uv.y = uv.y - 0.5 (畫面中間)
3:01 - 3:48 coeff = abs( 5.0 / ( 100 * uv.y ))
3:48 - 5:30 COLOR = vec4(coeff, coeff, coeff, 1) * vec4(0.9, 0.3, 1)

以直接畫在一個 2D canvas 的例子,
自己寫 code 比用 visual shader editor 簡單易懂多了。
visual shader editor 用在 3D 物件的著色比較好用。

而且不先學寫 code,
直接學拉來拉去那套,
應該也看不懂吧?
至少我是這樣啦

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.228.97.156 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/GameDesign/M.1632810279.A.754.html
ddavid: 想到之前看到一則twitter就能放下的shader效果 09/28 15:00

看到這類用少少幾行 (或一二百行) 字,
所能表現出的驚人的畫面的程式,
會讓人有窺伺到世界構成的真理 (大一統理論?) 的感覺。

啊,這裡不是哲學版 XD
※ 編輯: meowyih (61.228.97.156 臺灣), 09/28/2021 15:53:18
ddavid: 不是哲學,而是數學XD 09/28 16:32
dklassic: 我覺得真正不要拉的理由會是能實作的內容會受限 XD 09/28 16:42
dklassic: 用拉的可以直接在中間 Debug 視覺成效還是很實用 09/28 16:42
dklassic: 但是用拉的話通常都不能用到所有 Shader 功能 09/28 16:43
dklassic: 像 Unity 就是用拉的會做不了 Geometry Shader 09/28 16:43
skdXD: Unity也可以用寫的啦,不要亂帶風向 09/29 01:52
dklassic: 我是說「在 Unity 用拉的」..... 09/29 02:21
dklassic: 沒必要火氣這麼大直接說亂帶風向吧 Orz 09/29 02:22
dklassic: Unity 用拉的,的「Shader Graph」是不支援 Geometry 啊 09/29 02:24
a82611141: 推 09/29 03:39
LayerZ: 用拉的...拉出效能爆炸要修的時候就知道了? 10/01 17:04
dklassic: 好問題,有什麼圖形編輯相對原生的效能差距研究嗎? 10/01 19:48
dklassic: 像是 Unity 裡面提供的選項其實我都想不到會有什麼轉 10/01 19:48
dklassic: 譯的缺失 10/01 19:48
dklassic: 反過來用 Shader Graph 也可以避免要對三種 pipeline 10/01 19:48
dklassic: 各寫一個版本的問題 XD 10/01 19:48
dklassic: 啊不對,只能適用 HDRP 跟 URP XD 10/01 20:27

你可能也想看看

搜尋相關網站