D3DFVF
Elastyczne stałe formatu wierzchołka lub kody FVF służą do opisywania zawartości wierzchołków przeplatanych w jednym strumieniu danych, który będzie przetwarzany przez potok funkcji stałej.
Flagi danych wierzchołka
Poniższe flagi opisują format wierzchołka. Aby uzyskać informacje dotyczące formatów wierzchołków, zobacz Fixed Function FVF Codes (Direct3D 9).
#define | Opis | Kolejność i typ danych |
---|---|---|
D3DFVF_DIFFUSE | Format wierzchołka zawiera rozproszony składnik koloru. | DWORD w kolejności ARGB. Zobacz D3DCOLOR_ARGB. |
D3DFVF_NORMAL | Format wierzchołka zawiera wektor normalny wierzchołka. Tej flagi nie można używać z flagą D3DFVF_XYZRHW. | float, float, float |
D3DFVF_PSIZE | Format wierzchołka określony w rozmiarze punktu. Ten rozmiar jest wyrażony w jednostkach przestrzeni kamery dla wierzchołków, które nie są przekształcane i oświetlone, oraz w jednostkach przestrzeni urządzenia dla przekształconych i oświetlonych wierzchołków. | spławik |
D3DFVF_SPECULAR | Format wierzchołka zawiera składnik koloru widmowego. | DWORD w kolejności ARGB. Zobacz D3DCOLOR_ARGB. |
D3DFVF_XYZ | Format wierzchołka zawiera położenie nietransformowanego wierzchołka. Tej flagi nie można używać z flagą D3DFVF_XYZRHW. | float, float, float. |
D3DFVF_XYZRHW | Format wierzchołka zawiera położenie przekształconego wierzchołka. Tej flagi nie można używać z flagami D3DFVF_XYZ ani D3DFVF_NORMAL. | float, float, float, float. |
D3DFVF_XYZB1 za pośrednictwem D3DFVF_XYZB5 | Format wierzchołka zawiera dane położenia i odpowiednią liczbę wartości wagi (beta) używanych w przypadku operacji łączenia wierzchołków wieloetapowych. Obecnie funkcja Direct3D może łączyć się z maksymalnie trzema wartościami wagowymi i czterema macierzami mieszanymi. Aby uzyskać więcej informacji na temat używania macierzy mieszanych, zobacz Indeksowane mieszanie wierzchołków (Direct3D 9). | 1, 2 lub 3 zmiennoprzecinki. W przypadku użycia D3DFVF_LASTBETA_UBYTE4 ostatnia waga mieszana jest traktowana jako DWORD. |
D3DFVF_XYZW | Format wierzchołka zawiera przekształcone i obcięte dane (x, y, z, w). Funkcja ProcessVertices nie wywołuje clippera, zamiast tego generuje dane we współrzędnych klipu. Ta stała jest przeznaczona dla potoku programowalnego wierzchołka i może być używana tylko z programem . | float, float, float, float, float |
Flagi tekstury
Poniższe flagi opisują flagi tekstury używane przez potok funkcji stałej.
#define | Opis |
---|---|
D3DFVF_TEX0 — D3DFVF_TEX8 | Liczba zestawów współrzędnych tekstury dla tego wierzchołka. Rzeczywiste wartości tych flag nie są sekwencyjne. |
D3DFVF_TEXCOORDSIZEN(coordIndex) | Zdefiniuj zestaw danych współrzędnych tekstury. n wskazuje wymiar współrzędnych tekstury. coordIndex wskazuje numer indeksu współrzędnych tekstury. Zobacz współrzędne D3DFVF_TEXCOORDSIZEN i tekstury oraz etapy tekstury. |
Maskuj flagi
Poniższe flagi opisują flagi maski używane przez potok funkcji stałej.
#define | Opis |
---|---|
D3DFVF_POSITION_MASK | Maskuj bity położenia. |
D3DFVF_RESERVED0, D3DFVF_RESERVED2 | Maskuj wartości dla bitów zarezerwowanych w FVF. Nie używaj. |
D3DFVF_TEXCOUNT_MASK | Maskuj wartość bitów flagi tekstury. |
Różne flagi
Poniższe flagi opisują różne flagi używane przez potok funkcji stałej.
#define | Opis | |
D3DFVF_LASTBETA_D3DCOLOR | Ostatnie pole beta w danych pozycji wierzchołka będzie typu D3DCOLOR. Dane w polach beta są używane z osłoną palet macierzy do określania indeksów macierzy. | |
D3DFVF_LASTBETA_UBYTE4 | Ostatnie pole beta w danych pozycji wierzchołka będzie typu UBYTE4. Dane w polach beta są używane z osłoną palet macierzy do określania indeksów macierzy.
Biorąc pod uwagę, że FVF jest zadeklarowany jako: D3DFVF_XYZB5 | D3DFVF_LASTBETA_UBYTE4. Wagi i indeksy MatrixIn indeksy są uwzględniane w wersji beta[5], gdzie D3DFVF_LASTBETA_UBYTE4 mówi, aby interpretować ostatni DWORD w wersji beta[5] jako typ UBYTE4. |
|
D3DFVF_TEXCOUNT_SHIFT | Liczba bitów, według których ma być przesunięta wartość całkowita, która identyfikuje liczbę współrzędnych tekstury dla wierzchołka. Ta wartość może być używana, jak pokazano poniżej.
|
Przykłady
W poniższych przykładach przedstawiono inne typowe kombinacje flag.
// Untransformed vertex for lit, untextured, Gouraud-shaded content.
dwFVF = ( D3DFVF_XYZ | D3DFVF_DIFFUSE );
// Untransformed vertex for unlit, untextured, Gouraud-shaded
// content with diffuse material color specified per vertex.
dwFVF = ( D3DFVF_XYZ | D3DFVF_NORMAL | D3DFVF_DIFFUSE );
// Untransformed vertex for light-map-based lighting.
dwFVF = ( D3DFVF_XYZ | D3DFVF_TEX2 );
// Transformed vertex for light-map-based lighting with shared rhw.
dwFVF = ( D3DFVF_XYZRHW | D3DFVF_TEX2 );
// Heavyweight vertex for unlit, colored content with two
// sets of texture coordinates.
dwFVF = ( D3DFVF_XYZ | D3DFVF_NORMAL | D3DFVF_DIFFUSE |
D3DFVF_SPECULAR | D3DFVF_TEX2 );
Informacje o stałej
Wymaganie | Wartość |
---|---|
Nagłówek | d3d9types.h |
Minimalny system operacyjny | Windows 98 |
Tematy pokrewne