ID3DXPRTEngine 介面

ID3DXPRTEngine 介面可用來計算預先計算的弧度傳輸, (PRT) 模擬。 其方法通常會離線使用,以在即時 3D 模型化之前計算每個頂點或每一紋素傳輸向量。

成員

ID3DXPRTEngine介面繼承自IUnknown介面。 ID3DXPRTEngine 也有下列類型的成員:

方法

ID3DXPRTEngine介面具有這些方法。

方法 Description
ClosestRayIntersects 在預先計算的弧度傳輸中使用有效率的光線追蹤, (PRT) 模擬來判斷光線是否與網格交集。 如果找到交集,此方法會傳回最接近網格麵點擊的索引,而光線和交集點的直心座標。
ComputeBounce 計算單一反射光線所產生的來源弧度。 此方法可用於任何光線場景,包括球面 (SH) 預先計算的弧度傳輸 (PRT) 模型。
ComputeBounceAdaptive 使用調適型取樣,計算單一反射光線彈跳所產生的來源弧度。 此方法會在網格上產生新的頂點和臉部,以更精確地近似預先計算的弧度傳輸 (PRT) 訊號。 這個方法可用於任何光線場景,包括球面調色 (SH) 型 PRT 模型。
ComputeDirectLightingSH 計算 3D 物件的直接光源比重,其中來源弧度是由球面調色 (SH) 近似值來表示。
ComputeDirectLightingSHAdaptive 使用調適型取樣,計算 3D 物件的直接光源貢獻,其中來源弧度是由球面調色 (SH) 近似值來表示。 此方法會在網格上產生新的頂點和臉部,以更精確地近似預先計算的弧度傳輸 (PRT) 訊號。
ComputeDirectLightingSHGPU 使用 GPU 來計算 3D 物件的直接光源貢獻,其中來源弧度是由球面調色表示 (SH) 近似值。 在 GPU 上計算光源通常比 CPU 快很多。
ComputeLDPRTCoeffs 計算相對於每個樣本常態向量的本機可轉換預先計算弧度傳輸 (LDPRT) 係數,以將輸入 ID3DXPRTBuffer 資料的最小平方誤差降到最低。 這些係數可以搭配外觀或轉換的法向量使用,以模型化動態物件上的全域效果。
計算 使用 ID3DXPRTEngine::SetMeshMaterials所設定的材質屬性,計運算元表面散佈所產生的來源弧度。 這個方法只能用於網格物件中每個頂點定義的材質。
ComputeSSAdaptive 使用 ID3DXPRTEngine::SetMeshMaterials所設定的自適性取樣和材質屬性,計算將來源弧度對應至子表面散佈所產生的結束弧度的傳輸向量。 方法會在網格上產生新的頂點和臉部,以更精確地近似預先計算的弧度傳輸 (PRT) 訊號。 這個方法只能用於網格物件中每個頂點定義的材質。
ComputeSurfSamplesBounce 計算任意點 (和標準向量) 的 PRT) 樣本 (預先計算的弧度傳輸。
ComputeSurfSamplesDirectSH 計算在網格上不是任意點的傳輸向量,該傳輸向量會對應由球面調色 (SH 所代表的來源弧度 () 近似值) 以結束弧度。
ComputeVolumeSamples 計算從先前光線跳到球面調色的直接光源投影, (SH) 基礎向量,這些向量代表指定位置的事件弧度。
ComputeVolumeSamplesDirectSH 計算遠距光源投影到球面光源 (SH) 基礎向量,這些向量代表指定位置的事件弧度。
ExtractPerVertexAlbedo 從網格複製每個頂點 albedo 值。
FreeBounceData 釋放用於暫時退回光線模擬資料的記憶體。
FreeSSData 釋放用於暫存子表面光線散佈模擬資料的記憶體。
GetAdaptedMesh 傳回網格,其中包含自適性空間取樣所產生的修改。 如果定義) ,傳回的網格只會包含位置、常態和紋理座標 (。
GetNumFaces 擷取網格中的臉部數目,包括因調適性空間取樣而新增的任何新臉部。
GetNumVerts 擷取網格中的頂點數目,包括因調適性空間取樣而新增的任何新頂點。
GetVertexAlbedo 擷取網格頂點的 albedo 值。
MultiplyAlbedo 將每個預先計算的弧度傳輸乘以每個頂點 albedo (PRT) 向量。
ResampleBuffer 重新取樣輸入 ID3DXPRTBuffer 緩衝區,並將它儲存至輸出緩衝區。 這個方法可用來將頂點緩衝區轉換成紋理緩衝區,反之亦然。 它也可以用來將單一通道緩衝區轉換成 3 通道緩衝區,反之亦然。
RobustMeshRefine 細分網格上的臉部,允許不消除網格特徵的保守調適型取樣。
ScaleMeshChunk 調整與指定子訊息相關聯的所有樣本。 此方法適用于計運算元表面散佈。
SetCallBack 設定選擇性回呼函式的指標,此函式會計算完成的球面調色百分比 (SH) 計算,並讓呼叫者選擇中止模擬器。
SetMeshMaterials 在 3D 場景中設定網格材質屬性。 使用這個方法來指定子表面散佈參數。
SetMinMaxIntersection 設定 3D 物件之間交集的最小和最大距離。 這些距離值可用來控制物件可以遮蔽或反射光線的最小或最大距離。 例如,方法可用來限制 3D 模型附近特徵的陰影。
SetPerTexelAlbedo 設定每個紋素的 albedo 值,並覆寫先前的 albedo 值。
SetPerTexelNormal 設定紋理物件中每個材質的一般向量。 如果計算) 以圖元為基礎的預先計算弧度) (傳輸,這個方法會用來儲存網格 (或插補頂點常態的頂點法向量。
SetPerVertexAlbedo 設定每個網格頂點的 albedo 值,並覆寫先前的 albedo 值。
SetSamplingInfo 設定預先計算的弧度傳輸 (PRT) 模擬器所使用的取樣屬性。
ShadowRayIntersects 在預先計算的弧度傳輸中使用有效率的光線追蹤, (PRT) 模擬來判斷光線是否與網格交集。 通常用來判斷指定的點是否位於陰影中。

 

備註

若要從 RGB 轉換為亮度值,會使用下列公式:

Luminance = R * 0.2125 + G * 0.7154 + B * 0.0721

ID3DXPRTEngine介面是藉由呼叫D3DXCreatePRTEngine函式來取得。

LPD3DXPRTENGINE 類型定義為 ID3DXPRTEngine 介面的指標。

typedef interface ID3DXPRTEngine ID3DXPRTEngine;
typedef interface ID3DXPRTEngine *LPD3DXPRTENGINE;

規格需求

需求
標頭
D3DX9Mesh.h
程式庫
D3dx9.lib

另請參閱

D3DX 介面

D3DXCreatePRTEngine

Direct3D 9 (預先計算的弧度傳輸)