Interfaccia ID3DXPRTEngine

L'interfaccia ID3DXPRTEngine viene usata per calcolare una simulazione di trasferimento di radianza pre-calcolata.The ID3DXPRTEngine interface is used to compute a precomputed radiance transfer (PRT). I metodi vengono in genere usati offline per calcolare i vettori di trasferimento per vertice o per texel in anticipo rispetto alla modellazione 3D in tempo reale.

Membri

L'interfaccia ID3DXPRTEngine eredita dall'interfaccia IUnknown . ID3DXPRTEngine include anche questi tipi di membri:

Metodi

L'interfaccia ID3DXPRTEngine dispone di questi metodi.

Metodo Descrizione
ClosestRayIntersects Usa un'efficiente analisi dei raggi nelle simulazioni di trasferimento di raggi precompilate (PRT) per determinare se un raggio interseca una mesh. Se viene trovata un'intersezione, il metodo restituisce l'indice del viso mesh più vicino colpito dal raggio e dalle coordinate bariche del punto di intersezione.
CalcoloBounce Calcola la luminosità di origine risultante da un singolo rimbalzo di luce riflessa. Questo metodo può essere usato per qualsiasi scena illuminata, incluso un modello di trasferimento di raggi pre-calcolati (PRT) armonico armonico basato su SH.
CalcoloBounceAdaptive Calcola la luminosità di origine risultante da un singolo rimbalzo di luce riflessa, usando il campionamento adattivo. Questo metodo genera nuovi vertici e visi sulla mesh per approssimare in modo più accurato il segnale di trasferimento diradizione pre-calcolata (PRT). Questo metodo può essere usato per qualsiasi scena illuminata, incluso un modello PRT basato su armonica sferica (SH).
ComputeDirectLightingSH Calcola il contributo diretto dell'illuminazione agli oggetti 3D in cui la radiazione di origine è rappresentata da un'approssimazione armonica sferica (SH).
ComputeDirectLightingSHAdaptive Calcola il contributo diretto dell'illuminazione agli oggetti 3D in cui la radiazione di origine è rappresentata da un'approssimazione armonica sferica (SH), usando il campionamento adattivo. Questo metodo genera nuovi vertici e visi sulla mesh per approssimare in modo più accurato il segnale di trasferimento diradizione pre-calcolata (PRT).
ComputeDirectLightingSHGPU Usa la GPU per calcolare il contributo diretto dell'illuminazione agli oggetti 3D in cui la luminosità di origine è rappresentata da un'approssimazione armonica sferica (SH). Il calcolo dell'illuminazione sulla GPU sarà in genere molto più veloce rispetto alla CPU.
ComputeLDPRTCoeffs Calcola coefficienti di trasferimento precompilata precompilata (LDPRT) deformabili in locale rispetto ai vettori normali per campione per ridurre al minimo l'errore dei minimi quadrati rispetto ai dati ID3DXPRTBuffer di input. Questi coefficienti possono essere usati con vettori normali con pelle o trasformati per modellare gli effetti globali sugli oggetti dinamici.
ComputeSS Calcola la luminosità di origine risultante dalla dispersione della sottosurface, usando le proprietà del materiale impostate da ID3DXPRTEngine::SetMeshMaterials. Questo metodo può essere utilizzato solo per i materiali definiti per vertice in un oggetto mesh.
ComputeSSAdaptive Calcola un vettore di trasferimento che esegue il mapping dello radianza di origine all'uscita dalla radiazione risultante dalla dispersione sottosuperforma, usando il campionamento adattivo e le proprietà dei materiali impostate da ID3DXPRTEngine::SetMeshMaterials. Il metodo genera nuovi vertici e visi sulla mesh per approssimare in modo più accurato il segnale di trasferimento diradizione pre-calcolata (PRT). Questo metodo può essere utilizzato solo per i materiali definiti per vertice in un oggetto mesh.
ComputeSurfSamplesBounce Calcola esempi di trasferimento di raggi pre-calcolati (PRT) per un punto arbitrario (e vettore normale).
ComputeSurfSamplesDirectSH Calcola, in corrispondenza di un punto arbitrario non in una mesh, un vettore di trasferimento che esegue il mapping dello radianza di origine (rappresentato da un'approssimazione armonica sferica (SH) per uscire dalla luminosità.
ComputeVolumeSamples Calcola una proiezione dell'illuminazione diretta dal rimbalzo della luce precedente in vettori di base armonica (SH) sferici che rappresentano la radiazione degli eventi imprevisti in posizioni specificate.
ComputeVolumeSamplesDirectSH Calcola una proiezione di illuminazione distante in vettori di base armonici armonici (SH) che rappresentano la radiazione degli eventi imprevisti in posizioni specificate.
ExtractPerVertexAlbedo Copia i valori albedo per vertice da una mesh.
FreeBounceData Libera la memoria usata per i dati temporanei di simulazione di luce rimbalzata.
FreeSSData Libera la memoria usata per i dati di simulazione a dispersione della luce secondaria temporanea.
GetAdaptedMesh Restituisce una mesh con modifiche risultanti dal campionamento spaziale adattivo. La mesh restituita contiene solo posizioni, normali e coordinate di trama (se definito).
GetNumFaces Recupera il numero di visi nella mesh, inclusi i nuovi visi aggiunti in seguito al campionamento spaziale adattivo.
GetNumVerts Recupera il numero di vertici nella mesh, inclusi i nuovi vertici aggiunti in seguito al campionamento spaziale adattivo.
GetVertexAlbedo Recupera i valori albedo dei vertici della mesh.
MultiplyAlbedo Moltiplica ogni vettore prT (Precomputed radiance Transfer) per il albedo per vertice.
ResampleBuffer Ricampiona un buffer ID3DXPRTBuffer di input e lo salva in un buffer di output. Questo metodo può essere usato per convertire un buffer dei vertici in un buffer di trama e viceversa. Può anche essere usato per convertire i buffer a canale singolo in buffer a 3 canali e viceversa.
RobustMeshRefine Suddivide i visi in una mesh, consentendo il campionamento adattivo conservativo che non eliminerà le caratteristiche nella mesh.
ScaleMeshChunk Ridimensiona tutti i campioni associati a un determinato sottomese. Il metodo è utile per il calcolo della dispersione sottosurface.
SetCallBack Imposta un puntatore a una funzione di callback facoltativa che calcola la percentuale di calcoli armonici sferici completati e offre al chiamante la possibilità di interrompere il simulatore.
SetMeshMaterials Imposta le proprietà del materiale mesh nella scena 3D. Utilizzare questo metodo per specificare i parametri di dispersione della sottosurface.
SetMinMaxIntersection Imposta le distanze minime e massime di intersezione tra gli oggetti 3D. Questi valori di distanza possono essere usati per controllare la distanza minima o massima che gli oggetti possono nascondere o riflettere la luce. Ad esempio, il metodo può essere usato per limitare l'ombreggiatura delle funzionalità nelle vicinanze di un modello 3D.
SetPerTexelAlbedo Imposta un valore albedo per ogni texel, sovrascrivendo i valori albedo precedenti.
SetPerTexelNormal Imposta un vettore normale per ogni texel in un oggetto trama. Questo metodo viene usato per archiviare i vettori normali dei vertici da una mesh (o normali dei vertici interpolati se viene calcolato il trasferimento di raggi pre-calcolati in pixel).
SetPerVertexAlbedo Imposta un valore albedo per ogni vertice mesh, sovrascrivendo i valori albedo precedenti.
SetSamplingInfo Imposta le proprietà di campionamento usate dal simulatore di trasferimento di raggi pre-calcolati .
ShadowRayIntersects Usa un'efficiente analisi dei raggi nelle simulazioni di trasferimento di raggi precompilate (PRT) per determinare se un raggio interseca una mesh. In genere viene usato per determinare se un determinato punto è in ombra.

 

Commenti

Per eseguire la conversione da RGB a valori di luminanza, viene usata la formula seguente:

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

L'interfaccia ID3DXPRTEngine viene ottenuta chiamando la funzione D3DXCreatePRTEngine .

Il tipo LPD3DXPRTENGINE è definito come puntatore all'interfaccia ID3DXPRTEngine .

typedef interface ID3DXPRTEngine ID3DXPRTEngine;
typedef interface ID3DXPRTEngine *LPD3DXPRTENGINE;

Requisiti

Requisito Valore
Intestazione
D3DX9Mesh.h
Libreria
D3dx9.lib

Vedi anche

Interfacce D3DX

D3DXCreatePRTEngine

Trasferimento di radianza pre-calcolata (Direct3D 9)