Share via


HOW TO:建立基本 Phong 著色器

本文件示範如何使用著色器設計工具和有向圖形著色器語言 (DGSL) 建立光源著色器,以實作經典的 Phong 光源模型。

本文件示範下列活動:

  • 將節點加入到著色器圖形

  • 個別節點

  • 連接節點

Phong 光源模型

Phong 光源模型擴充 Lambert 光源模型,能夠包含會模擬介面的反射屬性的反射光源。 反射元件提供從用於 Lambert 光源模型的相同定向光源的照明,不過,其最終色彩的比重以不同方式處理。 反射光源會根據檢視方向、光源的方向和介面的方向之間的關聯性不同的方式影響場景中的每個介面,。 這是介面的反射色彩的產品、光澤度和方向和光源之色彩、濃度及方向。 反射光源直接在這個檢視器的表面接收反映離開這個檢視器的光源的最大反射比重和表面接收比重。 在 Phong 光源模型下,一個或多個反射元件合併判斷色彩和密度反射反白顯示物件中的每一個點,然後加入到 Lambert 光源模型的結果會產生像素的完稿色彩。

如需 Lambert 光源模型的詳細資訊,請參閱HOW TO:建立基本 Lambert 著色器

在您開始之前,請確定 [屬性] 視窗和 [工具箱] 隨即顯示。

建立 Phong 著色器

  1. 建立 Lambert 著色器,如 HOW TO:建立基本 Lambert 著色器中所述。

  2. 從 [最後的色彩] 節點的 [Lambert] 節點。 選取 [Lambert] 節點的 [RGB] 終端,然後選取 [中斷連結。]。 這讓資料列在下一個步驟加入的節點。

  3. 將 [加入] 節點加入至圖形。 在 [工具箱] 中,在 [算術] 下,選取 [加入] 並將其移至設計介面。

  4. 將 [反射] 節點加入至圖形。 在 [公用程式] 下的 [工具箱] 中,選取 [反射] 並將其移至設計介面。

  5. 加入反射比重。 將 [反射] 節點的 [輸出] 終端移至 [加入] 節點的 [x] 終端,然後將 [Lambert] 節點的 [輸出] 終端移至 [加入] 節點的 [Y] 終端。 這些連接合併至像素的完整擴散和反射色彩比重。

  6. 將計算的色彩值連接至完稿色彩。 將 [加入] 節點的 [輸出] 終端移至 [最後的色彩] 節點的 [RGB] 終端。

下圖顯示已完成的著色器圖形和套用至茶壺模型的著色器預覽。

注意事項注意事項

使用著色器的 [MaterialDiffuse] 參數,以提供較佳的著色器效果示範在圖中指定了橙色色彩,以提供,您可以使用 [MaterialSpecular] 和 [MaterialSpecularPower] 參數,因此,金屬性結束指定了。如需材質參數的詳細資訊,請參閱 著色器設計工具中的預覽著色器部分。

著色器圖形及其效果預覽。

某些圖案可能對某些著色器提供更好的預覽。 如需如何在著色器設計工具中預覽著色器的詳細資訊,請參閱 著色器設計工具中的預覽著色器部分

下圖顯示在文件中描述套用至立體模型的著色器。 [MaterialSpecular] 屬性設定為 (1.00, 0.50, 0.20, 0.00),因此,它的 [MaterialSpecularPower] 屬性設定為 16。

注意事項注意事項

[MaterialSpecular] 屬性決定介面材質的明顯結尾。高光亮介面 (例如玻璃或塑膠) 通常具有鏡面反射效果的色彩,也就是鮮明的白色色調。金屬色澤介面通常具有接近其擴散色彩的鏡面反射效果色彩。緞面抛光介面通常具有灰色深色陰影的鏡面反射效果色彩。

[MaterialSpecularPower] 屬性決定反射明亮部分的強度。高光澤度模擬更愚停用,詳細定位反白顯示。非常低光澤度模擬可以 oversaturate 和隱藏整個表面的色彩的強式名稱,清除的反白顯示。

已套用至模型的 Phong 光源。

如需如何將著色器套用至 3D 模型的詳細資訊,請參閱HOW TO:將著色器套用至 3D 模型

請參閱

工作

HOW TO:將著色器套用至 3D 模型

HOW TO:匯出著色器

HOW TO:建立基本 Lambert 著色器

概念

著色器設計工具

其他資源

著色器設計工具節點