上一篇介紹Shader可分為Vertex Shader和Pixel Shader,這時候引進新的Shader(其實也不新了:PDirectX 10的Shader Model 4.0和OpenGL 3.2開始支援),它叫做Geometry Shader。
首先Geometry shader是位在OpenGL rendering pipeline裡面,Vertex shader與Fragment shader的中間。Vertex Shader的單位是Vertex,也就是在Vertex Shader裡面看到的是單一Vertex。Geometry Shader的單位則是Primitive,在Geometry裡面可以看到Vertex Shader送過來的單一Primitve,然後處理成一個以上的Primitive送出去。而Fragment Shader則是看到Primitive作Rasteration之後的單一Fragment(Pixel)。這些是使用時必須先要有的概念,參考繪圖管線會更清楚。
話說Geometry Shader的出現是因為DirectX 10的釋出,這個變化使得往後的3D電影、動畫、遊戲,可以看到像魔鬼終結者三裡面的液態金屬人一樣,從金屬人轉變為人類的外表,手掌處還可以變化成武器。
3D形成兩大重點,先有骨架(Vertex Shader),再貼圖(Pixel Shader)上去,而有了Geometry Shader,即可使物件更有靈活的表現。
參考:OpenGL Geometry Shader 介紹(一)、DirectX 10顯示卡 超炫特效就全靠它了 (上)。
Comments on: "幾何著色器 (Geometry Shader)" (3)
[…] keijiro/StandardGeometryShader幾何著色器 (Geometry Shader) | 逍遙文工作室Unity3D Geomerty Shader – 苍白的茧 […]
讚讚
[…] 幾何著色器 (Geometry Shader) | 逍遙文工作室 Unity3D Geomerty Shader – […]
讚讚
[…] 以上圖片, 引用 逍遙文工作室 […]
讚讚