Método IDirect3DDevice9::D rawRectPatch (d3d9helper.h)
Desenha um patch retangular usando os fluxos definidos no momento.
Sintaxe
HRESULT DrawRectPatch(
[in] UINT Handle,
[in] const float *pNumSegs,
[in] const D3DRECTPATCH_INFO *pRectPatchInfo
);
Parâmetros
[in] Handle
Tipo: UINT
Manipule para o patch retangular a ser desenhado.
[in] pNumSegs
Tipo: const float*
Ponteiro para uma matriz de quatro valores de ponto flutuante que identificam o número de segmentos em que cada borda do patch de retângulo deve ser dividida quando mosaico. Veja D3DRECTPATCH_INFO.
[in] pRectPatchInfo
Tipo: const D3DRECTPATCH_INFO*
Ponteiro para uma estrutura D3DRECTPATCH_INFO , descrevendo o patch retangular a ser desenhado.
Retornar valor
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 pRectPatchInfo e especifique um identificador para que o Direct3D possa capturar e armazenar informações em cache. Chame IDirect3DDevice9::D rawRectPatch posteriormente com pRectPatchInfo definido como NULL para desenhar com eficiência o patch. 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 rawRectPatch com um identificador invalida o mesmo identificador armazenado em cache por uma chamada IDirect3DDevice9::D rawTriPatch anterior.
Para patches dinâmicos, os dados de patch são alterados para cada renderização do patch, portanto, não é 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 pRectPatchInfo como NULL.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Windows |
Cabeçalho | d3d9helper.h (inclua D3D9.h) |
Biblioteca | D3D9.lib |