ID3DXPRTEngine::ClosestRayIntersects-Methode
Verwendet effizientes Raytracing in vorberechneten PRT-Simulationen (Radiance Transfer), um zu bestimmen, ob ein Strahl ein Gitter überschneidet. Wenn eine Schnittmenge gefunden wird, gibt die Methode den Index der nächstgelegenen Gitterfläche zurück, die vom Strahl getroffen wird, und die baryzentrischen Koordinaten des Schnittpunkts.
Syntax
BOOL ClosestRayIntersects(
[in] const D3DXVECTOR3 *pRayPos,
[in] const D3DXVECTOR3 *pRayDir,
[in] DWORD *pFaceIndex,
[out] FLOAT *pU,
[out] FLOAT *pV,
[out] FLOAT *pDist
);
Parameter
-
pRayPos [in]
-
Typ: const D3DXVECTOR3*
Zeiger auf eine D3DXVECTOR3-Struktur , der den Punkt angibt, an dem der Strahl beginnt.
-
pRayDir [in]
-
Typ: const D3DXVECTOR3*
Zeiger auf eine D3DXVECTOR3-Struktur , die die normalisierte Richtung des Strahls angibt.
-
pFaceIndex [in]
-
Typ: DWORD*
Zeiger auf den Index der aktuellen Gitterseite, die zuerst vom angegebenen Strahl getroffen wird, basierend auf dem Stapeln aller Blockergitterflächen vor dem aktuellen Gitter.
-
pU [out]
-
Typ: FLOAT*
Zeiger auf die baryzentrische Trefferkoordinate U für Scheitelpunkt 0 des Dreiecks.
-
pV [out]
-
Typ: FLOAT*
Zeiger auf eine baryzentrische Trefferkoordinate V für Scheitelpunkt 1 des Dreiecks.
-
pDist [out]
-
Typ: FLOAT*
Zeiger auf den Abstand des Schnittpunkts entlang des Strahls.
Rückgabewert
Typ: BOOL
Gibt TRUE zurück, wenn der Strahl das aktuelle Gitter überschneidet; Andernfalls wird FALSE zurückgegeben.
Bemerkungen
Verwenden Sie ID3DXPRTEngine::SetMinMaxIntersection , um minimale und maximale Abstände der Schnittmenge mit dem Strahl festzulegen.
Die baryzentrische Koordinate des dritten Scheitelpunkts (Scheitelpunkt 2) des Dreiecks ist 1 - ( U + V ).
Diese Methode wird langsamer ausgeführt als ID3DXPRTEngine::ShadowRayIntersects. Verwenden Sie ID3DXPRTEngine::ShadowRayIntersects , wenn die Position des Schnittpunkts nicht benötigt wird.
Baryzentrische Koordinaten definieren einen Punkt innerhalb eines Dreiecks in Bezug auf die Scheitelpunkte des Dreiecks. Eine ausführlichere Beschreibung der baryzentrischen Koordinaten finden Sie unter Mathworlds Baryzentrische Koordinatenbeschreibung.
Anforderungen
Anforderung | Wert |
---|---|
Header |
|
Bibliothek |
|
Siehe auch