Interface ID3DXPRTEngine
A interface ID3DXPRTEngine é usada para calcular uma simulação prT (transferência de radiação pré-computada). Normalmente, seus métodos são usados offline para calcular vetores de transferência por vértice ou por texel antes da modelagem 3D em tempo real.
Membros
A interface ID3DXPRTEngine herda da interface IUnknown . ID3DXPRTEngine também tem estes tipos de membros:
Métodos
A interface ID3DXPRTEngine tem esses métodos.
Método | Descrição |
---|---|
ClosestRayIntersects | Usa o rastreamento de raio eficiente em simulações de PRT (transferência de radiação pré-computada) para determinar se um raio cruza uma malha. Se uma interseção for encontrada, o método retornará o índice da face de malha mais próxima atingida pelo raio e pelas coordenadas barycentricas do ponto de interseção. |
ComputeBounce | Calcula o radiamento de origem resultante de um único salto de luz inter-inflexionada. Esse método pode ser usado para qualquer cena iluminada, incluindo um modelo prT (transferência de radiação pré-compilado) baseada em SH ( harmônico e esférico). |
ComputeBounceAdaptive | Calcula o radiamento de origem resultante de um único salto de luz inter-desviada, usando amostragem adaptável. Esse método gera novos vértices e rostos na malha para aproximar com mais precisão o sinal prT (transferência de radiação pré-compilado). Esse método pode ser usado para qualquer cena iluminada, incluindo um modelo PRT baseado em SH (harmônico esférico). |
ComputeDirectLightingSH | Calcula a contribuição de iluminação direta para objetos 3D em que o radiamento de origem é representado por uma aproximação harmônica esférica (SH). |
ComputeDirectLightingSHAdaptive | Calcula a contribuição de iluminação direta para objetos 3D em que o radiamento de origem é representado por uma aproximação harmônica esférica (SH), usando amostragem adaptável. Esse método gera novos vértices e rostos na malha para aproximar com mais precisão o sinal prT (transferência de radiação pré-compilado). |
ComputeDirectLightingSHGPU | Usa a GPU para calcular a contribuição de iluminação direta para objetos 3D em que o radiamento de origem é representado por uma aproximação harmônica esférica (SH). A computação da iluminação na GPU geralmente será muito mais rápida do que na CPU. |
ComputeLDPRTCoeffs | Calcula coeficientes de transferência de radiação pré-computada localmente deformáveis (LDPRT) em relação aos vetores normais por exemplo para minimizar o erro de mínimos quadrados em relação aos dados ID3DXPRTBuffer de entrada. Esses coeficientes podem ser usados com vetores normais esfolados ou transformados para modelar efeitos globais em objetos dinâmicos. |
ComputeSS | Calcula o radiamento de origem resultante da dispersão subsuperficial, usando propriedades de material definidas por ID3DXPRTEngine::SetMeshMaterials. Esse método só pode ser usado para materiais definidos por vértice em um objeto de malha. |
ComputeSSAdaptive | Calcula um vetor de transferência que mapeia a radiação de origem para sair da radiação resultante da dispersão subsuperficial, usando propriedades adaptáveis de amostragem e material definidas por ID3DXPRTEngine::SetMeshMaterials. O método gera novos vértices e rostos na malha para aproximar com mais precisão o sinal prT (transferência de radiação pré-compilado). Esse método só pode ser usado para materiais definidos por vértice em um objeto de malha. |
ComputeSurfSamplesBounce | Calcula exemplos de PRT (transferência de radiação pré-computada) para um ponto arbitrário (e vetor normal). |
ComputeSurfSamplesDirectSH | Calcula, em um ponto arbitrário não em uma malha, um vetor de transferência que mapeia o radiamento de origem (representado por uma aproximação harmônica esférica (SH) para sair do radiamento. |
ComputeVolumeSamples | Calcula uma projeção da iluminação direta do salto de luz anterior em vetores de base esféricos harmônicos (SH) que representam a radiação de incidentes em locais especificados. |
ComputeVolumeSamplesDirectSH | Calcula uma projeção de iluminação distante em vetores de base harmônicos esféricos (SH) que representam a radiação de incidentes em locais especificados. |
ExtractPerVertexAlbedo | Copia valores albedo por vértice de uma malha. |
FreeBounceData | Libera a memória usada para dados temporários de simulação de luz saltada. |
FreeSSData | Libera a memória usada para dados temporários de simulação de dispersão de luz subsuperficial. |
GetAdaptedMesh | Retorna uma malha com modificações resultantes da amostragem espacial adaptável. A malha retornada contém apenas posições, normais e coordenadas de textura (se definidas). |
GetNumFaces | Recupera o número de rostos na malha, incluindo quaisquer rostos novos adicionados como resultado da amostragem espacial adaptável. |
GetNumVerts | Recupera o número de vértices na malha, incluindo novos vértices adicionados como resultado da amostragem espacial adaptável. |
GetVertexAlbedo | Recupera valores albedo dos vértices de malha. |
MultiplyAlbedo | Multiplica cada vetor prt (transferência de radiação pré-compilado) pelo albedo por vértice. |
ResampleBuffer | Resampla um buffer ID3DXPRTBuffer de entrada e o salva em um buffer de saída. Esse método pode ser usado para converter um buffer de vértice em um buffer de textura e vice-versa. Ele também pode ser usado para converter buffers de canal único em buffers de 3 canais e vice-versa. |
RobustMeshRefine | As subdivides são voltadas para uma malha, permitindo uma amostragem adaptável conservadora que não eliminará os recursos na malha. |
ScaleMeshChunk | Dimensiona todos os exemplos associados a um determinado submesh. O método é útil para computar a dispersão de subsuperfície. |
SetCallBack | Define um ponteiro para uma função de retorno de chamada opcional que calcula o percentual de cálculos SH (harmônicos esféricos) concluídos e dá ao chamador a opção de anular o simulador. |
SetMeshMaterials | Define as propriedades do material de malha na cena 3D. Use esse método para especificar parâmetros de dispersão subsuperficial. |
SetMinMaxIntersection | Define as distâncias mínimas e máximas de interseção entre objetos 3D. Esses valores de distância podem ser usados para controlar a distância mínima ou máxima que os objetos podem sombrear ou refletir a luz. Por exemplo, o método pode ser usado para limitar o sombreamento de recursos próximos de um modelo 3D. |
SetPerTexelAlbedo | Define um valor albedo para cada texel, substituindo valores albedo anteriores. |
SetPerTexelNormal | Define um vetor normal para cada texel em um objeto de textura. Esse método é usado para armazenar vetores normais de vértice de uma malha (ou normais de vértice interpolados se a PRT (transferência de radiação pré-computada) baseada em pixel estiver sendo computada). |
SetPerVertexAlbedo | Define um valor albedo para cada vértice de malha, substituindo valores albedo anteriores. |
SetSamplingInfo | Define as propriedades de amostragem usadas pelo simulador prt (transferência de radiação pré-compilado). |
ShadowRayIntersects | Usa o rastreamento de raio eficiente em simulações de PRT (transferência de radiação pré-computada) para determinar se um raio cruza uma malha. Normalmente usado para determinar se um determinado ponto está na sombra. |
Comentários
Para converter de RGB em valores de luminância, a seguinte fórmula é usada:
Luminance = R * 0.2125 + G * 0.7154 + B * 0.0721
A interface ID3DXPRTEngine é obtida chamando a função D3DXCreatePRTEngine .
O tipo LPD3DXPRTENGINE é definido como um ponteiro para a interface ID3DXPRTEngine .
typedef interface ID3DXPRTEngine ID3DXPRTEngine;
typedef interface ID3DXPRTEngine *LPD3DXPRTENGINE;
Requisitos
Requisito | Valor |
---|---|
parâmetro |
|
Biblioteca |
|
Confira também