何謂Shader

Shader實際上是指渲染流水線中可編程的部分。有很多種類

每一個Shader對應渲染流水線的不同階段,執行不同的操作。渲染流水線除了可編程部分(Shader)外,還有一些固定階段,那些有時候會提供一些設置供程序員設置。

渲染的階段

Real-Time Rendering, Third Edition一書中將一個渲染流程分成3個階段 (概念性模型)

NDC空間的差別

Unity中的NDC與OpenGL的相同,z範圍在[-1, 1]。而DirectX則是在[0, 1]。

Screen Coordinates的差別