使用著色器
您可以在 Visual Studio 中使用圖形式的著色器設計工具設計自訂著色器效果。 您可以在您的 DirectX 遊戲或應用程式中使用這些著色器。
著色器
「著色器」(Shader) 是執行圖形計算 (例如頂點轉換或像素著色) 且通常在圖形處理單元 (GPU) 而非 CPU 上執行的電腦程式。 由於現在大多數傳統固定功能圖形管線的階段是由著色器程式執行,您可以使用它們來建立符合應用程式需求的專屬管線。
最常見的著色器種類為頂點著色器,它在非程式設計方式的圖形硬體上執行每個頂點計算並取代固定函式轉換和光源通道,還有像素著色器是在非程式設計方式的圖形硬體上,執行每個像素的計算,決定色彩的像素和取代固定函式- 複合色彩通道。 現代圖形硬體還啟用了更多可能的著色器類型:適用於圖形計算的「輪廓著色器」(Hull Shader)、「網域著色器」(Domain Shader) 和「幾何著色器」(Geometry Shader),以及適用於非圖形計算的「計算著色器(Compute Shader)。 甚至在不可程式化的圖形硬體中也沒有任何這些階段可用。 著色器最初是由那些提供資料平行 (SIMD) 和圖形中心 (點積) 指令的組合語言所建立。 現在,著色器通常是使用類似 C 的高階語言 (例如 HLSL (高階著色器語言)) 所建立。
您可以使用著色器設計工具以互動方式建立像素著色器 (而不是輸入及編譯程式碼)。 在著色器設計工具中,著色器是由一些表示資料和作業的節點,以及節點之間的連接 (表示通過著色器之資料值及中繼結果的流程) 所定義。 使用這個方法和著色器設計工具中的即時預覽,您可以更輕鬆地以視覺化方式檢視著色器的執行,並透過實驗「探索」有趣的著色器變化。
DGSL 文件
著色器設計工具以有向圖形著色器語言 (DGSL) 格式儲存著色器,這是一種以有向圖形標記語言 (DGML) 為基礎的 XML 格式。 您可以直接將 DGSL 著色器套用至模型編輯器中的 3D 模型。 不過,在應用程式中使用 DGSL 著色器之前,您必須將著色器匯出成 DirectX 了解的格式,例如 HLSL。
因為 DGSL 與 DGML 相容,您可以使用設計來分析 DGML 文件的工具分析您的 DGSL 著色器。 如需 DGML 的詳細資訊,請參閱 了解有向圖形標記語言 (Directed Graph Markup Language,DGML)。
相關主題
標題 |
描述 |
---|---|
說明如何使用 Visual Studio 著色器設計工具,搭配著色器一起運作。 |
|
討論可以用來達到圖形效果的 [著色器設計工具] 節點類型。 |
|
提供示範如何使用著色器設計工具達成常見圖形效果的主題連結。 |