estrutura D3DRECTPATCH_INFO
Descreve um patch retangular de alta ordem.
Sintaxe
typedef struct D3DRECTPATCH_INFO {
UINT StartVertexOffsetWidth;
UINT StartVertexOffsetHeight;
UINT Width;
UINT Height;
UINT Stride;
D3DBASISTYPE Basis;
D3DDEGREETYPE Degree;
} D3DRECTPATCH_INFO, *LPD3DRECTPATCH_INFO;
Membros
-
StartVertexOffsetWidth
-
Tipo: UINT
-
Largura de deslocamento de vértice inicial, em número de vértices.
-
StartVertexOffsetHeight
-
Tipo: UINT
-
Iniciando a altura de deslocamento de vértice, em número de vértices.
-
Largura
-
Tipo: UINT
-
Largura de cada vértice, em número de vértices.
-
Altura
-
Tipo: UINT
-
Altura de cada vértice, em número de vértices.
-
Passo
-
Tipo: UINT
-
Largura da matriz de vértice bidimensional imaginária, que ocupa o mesmo espaço que o buffer de vértice. Para obter um exemplo, consulte o diagrama abaixo.
-
Base
-
Tipo: D3DBASISTYPE
-
Membro do tipo enumerado D3DBASISTYPE , definindo o tipo de base para o patch de alta ordem retangular.
Valor Pedido com suporte Largura e altura D3DBASIS_BEZIER Linear, cúbico e quintic Width = height = (DWORD)order + 1 D3DBASIS_BSPLINE Linear, cúbico e quintic Width = height > (DWORD)order D3DBASIS_INTERPOLATE Cúbicos Width = height > (DWORD)order -
Grau
-
Tipo: D3DDEGREETYPE
-
Membro do tipo enumerado D3DDEGREETYPE , definindo o grau para o patch retangular.
Comentários
O diagrama a seguir identifica os parâmetros que especificam um patch de retângulo.
Cada um dos vértices no buffer de vértice é mostrado como um ponto preto. Nesse caso, o buffer de vértice tem 20 vértices, dos quais 16 estão no patch do retângulo. O passo a passo é o número de vértices na largura do buffer de vértice, neste caso, cinco. O deslocamento x para o primeiro vértice é chamado de StartIndexVertexWidth e, nesse caso, é 1. O deslocamento y para o primeiro vértice de patch é chamado de StartIndexVertexHeight e, nesse caso, é 0.
Para renderizar um fluxo de patches retangulares individuais (não mosaico), você deve interpretar sua geometria como um patch retangular longo estreito (1 x N). A estrutura D3DRECTPATCH_INFO para tal faixa (Bézier cúbica) seria configurada da maneira a seguir.
D3DRECTPATCH_INFO RectInfo;
RectInfo.Width = 4;
RectInfo.Height = 4;
RectInfo.Stride = 4;
RectInfo.Basis = D3DBASIS_BEZIER;
RectInfo.Order = D3DORDER_CUBIC;
RectInfo.StartVertexOffsetWidth = 0;
RectInfo.StartVertexOffsetHeight = 4*i; // The variable i is the index of the
// patch you want to render.
Requisitos
Requisito | Valor |
---|---|
parâmetro |
|
Confira também