D3DRECTPATCH_INFO struttura
Descrive una patch ad alto ordine rettangolare.
Sintassi
typedef struct D3DRECTPATCH_INFO {
UINT StartVertexOffsetWidth;
UINT StartVertexOffsetHeight;
UINT Width;
UINT Height;
UINT Stride;
D3DBASISTYPE Basis;
D3DDEGREETYPE Degree;
} D3DRECTPATCH_INFO, *LPD3DRECTPATCH_INFO;
Members
-
StartVertexOffsetWidth
-
Tipo: UINT
-
A partire dalla larghezza dell'offset dei vertici, in numero di vertici.
-
StartVertexOffsetHeight
-
Tipo: UINT
-
Avvio dell'altezza dell'offset dei vertici, in numero di vertici.
-
Width
-
Tipo: UINT
-
Larghezza di ogni vertice, in numero di vertici.
-
Altezza
-
Tipo: UINT
-
Altezza di ogni vertice, in numero di vertici.
-
Passo
-
Tipo: UINT
-
Larghezza della matrice vertice bidimensionale immaginaria, che occupa lo stesso spazio del buffer del vertice. Per un esempio, vedere il diagramma seguente.
-
Basis
-
Tipo: D3DBASISTYPE
-
Membro del tipo enumerato D3DBASISTYPE , definendo il tipo di base per la patch ad ordine elevato rettangolare.
Valore Ordine supportato Larghezza e altezza D3DBASIS_BEZIER Lineare, cubico e quintico Width = height = (DWORD)order + 1 D3DBASIS_BSPLINE Lineare, cubico e quintico Width = height > (DWORD)order D3DBASIS_INTERPOLATE Cubi Width = height > (DWORD)order -
Gradi
-
Tipo: D3DDEGREETYPE
-
Membro del tipo enumerato D3DDEGREETYPE , definendo il grado per la patch rettangolare.
Commenti
Il diagramma seguente identifica i parametri che specificano una patch rettangolo.
Ognuno dei vertici nel buffer del vertice viene visualizzato come punto nero. In questo caso, il buffer del vertice ha 20 vertici in esso, 16 di cui si trovano nella patch rettangolo. Lo stride è il numero di vertici nella larghezza del buffer del vertice, in questo caso cinque. L'offset x al primo vertice viene chiamato StartIndexVertexWidth ed è in questo caso 1. L'offset y al primo vertice della patch è denominato StartIndexVertexHeight ed è in questo caso 0.
Per eseguire il rendering di un flusso di singole patch rettangolari (non mosaico), è necessario interpretare la geometria come una patch rettangolare lunga (1 x N). La D3DRECTPATCH_INFO struttura per tale striscia (cubica Bézier) verrà configurata in modo seguente.
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.
Requisiti
Requisito | Valore |
---|---|
Intestazione |
|
Vedi anche