Método IDirect3DDevice9::D rawTriPatch (d3d9helper.h)
Desenha um patch triangular usando os fluxos definidos no momento.
Sintaxe
HRESULT DrawTriPatch(
[in] UINT Handle,
[in] const float *pNumSegs,
[in] const D3DTRIPATCH_INFO *pTriPatchInfo
);
Parâmetros
[in] Handle
Tipo: UINT
Manipule para o patch triangular a ser desenhado.
[in] pNumSegs
Tipo: const float*
Ponteiro para uma matriz de três valores de ponto flutuante que identificam o número de segmentos em que cada borda do patch de triângulo deve ser dividida quando mosaico. Consulte D3DTRIPATCH_INFO.
[in] pTriPatchInfo
Tipo: const D3DTRIPATCH_INFO*
Ponteiro para uma estrutura D3DTRIPATCH_INFO , descrevendo o patch triangular de alta ordem a ser desenhado.
Valor retornado
Tipo: HRESULT
Se o método for bem-sucedido, o valor retornado será D3D_OK. Se o método falhar, o valor retornado poderá ser D3DERR_INVALIDCALL.
Comentários
Para patches estáticos: defina o sombreador de vértice, defina os fluxos apropriados, forneça informações de patch no parâmetro pTriPatchInfo e especifique um identificador para que o Direct3D possa capturar e armazenar informações em cache. Para desenhar com eficiência o patch, chame IDirect3DDevice9::D rawTriPatch com pTriPatchInfo definido como NULL. Ao desenhar um patch armazenado em cache, os fluxos definidos no momento são ignorados. Substitua o pNumSegs armazenado em cache especificando um novo valor para pNumSegs. Ao renderizar um patch armazenado em cache, você deve definir o mesmo sombreador de vértice que foi definido quando ele foi capturado.
Chamar IDirect3DDevice9::D rawTriPatch com um identificador invalida o mesmo identificador armazenado em cache por uma chamada anterior IDirect3DDevice9::D rawRectPatch .
Para patches dinâmicos, os dados de patch são alterados para cada renderização do patch para que não seja eficiente armazenar informações em cache. O aplicativo pode transmitir isso para o Direct3D definindo Handle como 0. Nesse caso, o Direct3D desenha o patch usando os fluxos definidos no momento e os valores pNumSegs e não armazena em cache nenhuma informação. Não é válido definir Simultaneamente Handle como 0 e pTriPatchInfo como NULL.
Requisitos
Plataforma de Destino | Windows |
Cabeçalho | d3d9helper.h (inclua D3D9.h) |
Biblioteca | D3D9.lib |