Share via


HOW TO:匯出著色器

本文件示範如何使用著色器設計工具匯出有向圖形著色器語言 (DGSL) 著色器,以在您的應用程式中使用。

本文件示範此活動:

  • 匯出著色器

匯出著色器

在使用著色器設計工具建立著色器之後,您必須先將其匯出為圖形應用程式開發介面所了解的格式,才能在應用程式中使用。 您可以透過不同的方式匯出著色器,以符合不同的需求。

匯出著色器

  1. 在 Visual Studio 中開啟 [視覺著色器圖形 (.dgsl)] 檔案。

    如果您沒有要開啟的 覺著色器圖形 (.dgsl) 檔案,請建立一個,如 HOW TO:建立基本色彩著色器中所述。

  2. 在 [著色器設計工具] 工具列上,選擇 [進階]],則 [匯出], [匯出]。 [匯出著色器] 對話方塊隨即顯示。

  3. 在 [存檔類型] 下拉式清單中,選擇您要匯出的格式。

    以下是您可以選擇的格式:

    • HLSL 像素著色器 (*.hlsl)
      將著色器匯出成高階著色器語言 (HLSL) 原始程式碼。 這個選項可以讓您稍後再修改著色器,即使已在應用程式中部署之後,仍然可以修改。 這可讓您更容易根據使用者的問題偵錯和修補程式碼,不過,也可以讓使用者更容易任意修改您的著色器,例如在競賽遊戲中獲得不公平的優勢。 它也可以將著色器的載入時間。

    • 編譯過的像素著色器 (*.cso)
      將著色器匯出成 HLSL Bytecode。 這個選項可以讓您稍後再修改著色器,即使已在應用程式中部署之後,仍然可以修改。 這可讓您更容易根據使用者的問題偵錯和修補程式碼,不過,因為著色器是先行編譯的,因此應用程式載入著色器時不會另外產生執行階段額外負荷。 有經驗的使用者仍可使用原先不想使用的方式修改著色器,但是編譯著色器將更加困難。

    • C++ 標頭 (*.h)
      將著色器匯出成 C 樣式標頭,以定義包含 HLSL Bytecode 的位元組陣列。 這個選項可能會讓根據使用者問題偵錯及修補程式碼更為耗時,因為必須重新編譯應用程式才能測試修正。 不過,由於這個選項會使得在著色器已部署於應用程式之後加以修改變得困難 (雖然並非不可能),因此這會讓想要以不當方式修改著色器的使用者吃足苦頭。

  4. 在 [檔名] 組合方塊中,指定匯出的著色器的名稱,然後選擇 [儲存] 按鈕。

請參閱

工作

HOW TO:建立基本色彩著色器

概念

著色器設計工具