ID3DXPRTEngine インターフェイス
ID3DXPRTEngine インターフェイスは、事前計算済みの放射転送 (PRT) シミュレーションを計算するために使用されます。 通常、そのメソッドはオフラインで使用され、リアルタイムの 3D モデリングの前に頂点単位またはテクセル単位の転送ベクトルを計算します。
メンバー
ID3DXPRTEngine インターフェイスは、IUnknown インターフェイスから継承されます。 ID3DXPRTEngine には、次の種類のメンバーもあります。
メソッド
ID3DXPRTEngine インターフェイスには、これらのメソッドがあります。
メソッド | 説明 |
---|---|
ClosestRayIntersects | 事前計算済みの放射転送 (PRT) シミュレーションで効率的なレイ トレースを使用して、光線がメッシュと交差するかどうかを判断します。 交差が見つかった場合、 メソッドは、光線によってヒットした最も近いメッシュ面のインデックスと、交点のバリセントリック座標を返します。 |
ComputeBounce | 相互反射光の単一のバウンスに起因するソースの放射輝度を計算します。 この方法は、球面調和(SH)ベースの事前計算済みの放射転送(PRT)モデルを含む、任意の点灯シーンに使用できます。 |
ComputeBounceAdaptive | アダプティブ サンプリングを使用して、反射された光の単一のバウンスに起因するソースの放射輝度を計算します。 このメソッドは、メッシュ上に新しい頂点と面を生成し、事前計算済みの放射転送 (PRT) 信号をより正確に近似します。 この方法は、球面調和 (SH) ベースの PRT モデルを含む、任意の点灯シーンに使用できます。 |
ComputeDirectLightingSH | ソース放射が球面調和 (SH) 近似で表される 3D オブジェクトに対する直接照明の影響を計算します。 |
ComputeDirectLightingSHAdaptive | アダプティブ サンプリングを使用して、ソースの放射度が球面調和 (SH) 近似で表される 3D オブジェクトに対する直接照明の影響を計算します。 このメソッドは、メッシュ上に新しい頂点と面を生成し、事前計算済みの放射転送 (PRT) 信号をより正確に近似します。 |
ComputeDirectLightingSHGPU | GPU を使用して、ソースの放射が球面調和 (SH) 近似で表される 3D オブジェクトへの直接の照明の影響を計算します。 GPU での照明の計算は、通常、CPU よりもはるかに高速になります。 |
ComputeLDPRTCoeffs | 入力 ID3DXPRTBuffer データに関する最小二乗誤差を最小限に抑えるために、サンプルごとの正規ベクトルに対してローカルに変形可能な事前計算された放射輝度転送 (LDPRT) 係数を計算します。 これらの係数は、スキンまたは変換された法線ベクトルと共に使用して、動的オブジェクトに対するグローバル効果をモデル化できます。 |
Computess |
ID3DXPRTEngine::SetMeshMaterials によって設定されたマテリアル プロパティを使用して、サブサーフェススキャッタリングによって得られるソースの放射輝度を計算します。 このメソッドは、メッシュ オブジェクト内の頂点ごとに定義されたマテリアルに対してのみ使用できます。 |
ComputeSSAdaptive |
ID3DXPRTEngine::SetMeshMaterials によって設定されたアダプティブ サンプリングとマテリアル プロパティを使用して、サブサーフェス散乱によって生じる放射を終了するソース放射をマップする転送ベクトルを計算します。 このメソッドは、メッシュ上に新しい頂点と面を生成して、事前計算済みの放射転送 (PRT) 信号をより正確に近似します。 このメソッドは、メッシュ オブジェクト内の頂点ごとに定義されたマテリアルに対してのみ使用できます。 |
ComputeSurfSamplesBounce | 任意のポイント (および法線ベクトル) の事前計算済みの放射転送 (PRT) サンプルを計算します。 |
ComputeSurfSamplesDirectSH | メッシュ上にない任意の点で、ソース放射輝度(球面調和(SH)近似で表される)を終了放射輝度にマップする転送ベクトルを計算します。 |
ComputeVolumeSamples | 指定した場所でのインシデント放射を表す球面調和 (SH) 基底ベクトルに、前の光バウンスからの直接照明の投影を計算します。 |
ComputeVolumeSamplesDirectSH | 指定した場所でのインシデントの放射を表す球面調和 (SH) 基底ベクトルへの遠くの照明の投影を計算します。 |
ExtractPerVertexAlbedo | 頂点ごとのアルベド値をメッシュからコピーします。 |
FreeBounceData | 一時的なバウンスライト シミュレーション データに使用されるメモリを解放します。 |
FreeSSData | 一時的な地下光散乱シミュレーション データに使用されるメモリを解放します。 |
GetAdaptedMesh | アダプティブ空間サンプリングに起因する変更を含むメッシュを返します。 返されるメッシュには、位置、法線、テクスチャ座標のみが含まれます (定義されている場合)。 |
GetNumFaces | アダプティブ空間サンプリングの結果として追加された新しい顔を含む、メッシュ内の顔の数を取得します。 |
GetNumVerts | アダプティブ空間サンプリングの結果として追加された新しい頂点を含む、メッシュ内の頂点の数を取得します。 |
GetVertexAlbedo | メッシュ頂点の albedo 値を取得します。 |
MultiplyAlbedo | 事前計算された各放射輝度転送 (PRT) ベクトルに頂点ごとの albedo を乗算します。 |
ResampleBuffer | 入力 ID3DXPRTBuffer バッファーをリサンプリングし、出力バッファーに保存します。 このメソッドを使用して、頂点バッファーをテクスチャ バッファーに変換し、その逆を行うことができます。 また、シングルチャネル バッファーを 3 チャネル バッファーに変換したり、その逆に変換したりすることもできます。 |
RobustMeshRefine | メッシュ上の面を分割し、メッシュ上のフィーチャを排除しない保守的なアダプティブ サンプリングを可能にします。 |
ScaleMeshChunk | 特定のサブメッシュに関連付けられているすべてのサンプルをスケーリングします。 この方法は、地下散乱を計算するのに役立ちます。 |
SetCallBack | 完了した球面調和 (SH) 計算の割合を計算し、呼び出し元にシミュレーターを中止するオプションを提供するオプションのコールバック関数へのポインターを設定します。 |
SetMeshMaterials | 3D シーンのメッシュ マテリアル プロパティを設定します。 サブサーフェス スキャッタリング パラメータを指定するには、このメソッドを使用します。 |
SetMinMaxIntersection | 3D オブジェクト間の交差の最小距離と最大距離を設定します。 これらの距離値を使用して、オブジェクトが光をシャドウまたは反射できる最小距離または最大距離を制御できます。 たとえば、 メソッドを使用して、3D モデルの近くのフィーチャのシャドウを制限できます。 |
SetPerTexelAlbedo | 各テクセルに albedo 値を設定し、以前の albedo 値を上書きします。 |
SetPerTexelNormal | テクスチャ オブジェクト内の各テクセルの法線ベクトルを設定します。 このメソッドは、メッシュから頂点法線ベクトルを格納するために使用されます (ピクセルベースの事前計算済みの放射転送 (PRT) が計算されている場合は、頂点法線を補間します)。 |
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;
要件
要件 | 値 |
---|---|
ヘッダー |
|
ライブラリ |
|
こちらもご覧ください