Compartilhar via


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
D3DX9Mesh.h
Biblioteca
D3dx9.lib

Confira também

D3DX Interfaces

D3DXCreatePRTEngine

Transferência de radiação pré-compilada (Direct3D 9)