D3DFVF
Esnek Köşe Biçimi Sabitleri veya FVF kodları, sabit işlevli işlem hattı tarafından işlenecek tek bir veri akışında kesişen köşelerin içeriğini açıklamak için kullanılır.
Köşe Veri Bayrakları
Aşağıdaki bayraklar köşe biçimini açıklar. Köşe biçimleri hakkında bilgi için bkz. Sabit İşlevli FVF Kodları (Direct3D 9).
#define | Açıklama | Veri sırası ve türü |
---|---|---|
D3DFVF_DIFFUSE | Köşe biçimi, dağınık bir renk bileşeni içerir. | ARGB sırasıyla DWORD. bkz. D3DCOLOR_ARGB. |
D3DFVF_NORMAL | Köşe biçimi, köşe normal vektör içerir. Bu bayrak D3DFVF_XYZRHW bayrağıyla kullanılamaz. | float, float, float |
D3DFVF_PSIZE | Nokta boyutu olarak belirtilen köşe biçimi. Bu boyut, dönüştürülmemiş ve aydınlatılmayan köşeler için kamera uzay birimlerinde ve dönüştürülmüş ve aydınlatılmış köşeler için cihaz alanı birimlerinde ifade edilir. | yüzmek |
D3DFVF_SPECULAR | Köşe biçimi, belirtik bir renk bileşeni içerir. | ARGB sırasıyla DWORD. bkz. D3DCOLOR_ARGB. |
D3DFVF_XYZ | Köşe biçimi, çevrilmemiş bir köşenin konumunu içerir. Bu bayrak D3DFVF_XYZRHW bayrağıyla kullanılamaz. | float, float, float. |
D3DFVF_XYZRHW | Köşe biçimi, dönüştürülmüş bir köşenin konumunu içerir. Bu bayrak D3DFVF_XYZ veya D3DFVF_NORMAL bayraklarıyla kullanılamaz. | float, float, float, float. |
D3DFVF_XYZB5 aracılığıyla D3DFVF_XYZB1 | Köşe biçimi konum verilerini ve multimatrix köşe karıştırma işlemleri için kullanılacak karşılık gelen ağırlıklama (beta) değerlerini içerir. Şu anda Direct3D en fazla üç ağırlık değeri ve dört karıştırma matrisi ile karıştırılabilir. Karıştırma matrislerini kullanma hakkında daha fazla bilgi için bkz. Dizinli Köşe Karıştırma (Direct3D 9). | 1, 2 veya 3 float. D3DFVF_LASTBETA_UBYTE4 kullanıldığında, son karıştırma ağırlığı DWORD olarak değerlendirilir. |
D3DFVF_XYZW | Köşe biçimi dönüştürülmüş ve kırpılmış (x, y, z, w) veriler içerir. ProcessVertices, clipper'ı çağırmaz, bunun yerine klip koordinatlarında veri çıkışı yapar. Bu sabit, yalnızca programlanabilir köşe işlem hattı için tasarlanmıştır ve ile kullanılabilir. | float, float, float, float |
Doku Bayrakları
Aşağıdaki bayraklar, sabit işlevli işlem hattı tarafından kullanılan doku bayraklarını açıklar.
#define | Açıklama |
---|---|
D3DFVF_TEX0 - D3DFVF_TEX8 | Bu köşe için doku koordinat kümelerinin sayısı. Bu bayrakların gerçek değerleri sıralı değildir. |
D3DFVF_TEXCOORDSIZEN(coordIndex) | Doku koordinatı veri kümesi tanımlayın. n, doku koordinatlarının boyutunu gösterir. coordIndex, doku koordinatı dizin numarasını gösterir. Bkz. doku koordinatlarını ve Doku Aşamalarını D3DFVF_TEXCOORDSIZEN ve. |
Maske Bayrakları
Aşağıdaki bayraklar, sabit işlevli işlem hattı tarafından kullanılan maske bayraklarını açıklar.
#define | Açıklama |
---|---|
D3DFVF_POSITION_MASK | Konum bitleri için maske. |
D3DFVF_RESERVED0, D3DFVF_RESERVED2 | FVF'de ayrılmış bitlerin değerlerini maskeler. Kullanmayın. |
D3DFVF_TEXCOUNT_MASK | Doku bayrağı bitleri için maske değeri. |
Çeşitli Bayraklar
Aşağıdaki bayraklar, sabit işlevli işlem hattı tarafından kullanılan çeşitli bayrakları açıklar.
#define | Açıklama | |
D3DFVF_LASTBETA_D3DCOLOR | Köşe konumu verilerindeki son beta alanı D3DCOLOR türünde olacaktır. Beta alanlarındaki veriler matris dizinlerini belirtmek için matris paleti kaplamasıyla birlikte kullanılır. | |
D3DFVF_LASTBETA_UBYTE4 | Köşe konumu verilerindeki son beta alanı UBYTE4 türünde olacaktır. Beta alanlarındaki veriler matris dizinlerini belirtmek için matris paleti kaplamasıyla birlikte kullanılır.
FVF şu şekilde bildirilir: D3DFVF_XYZB5 | D3DFVF_LASTBETA_UBYTE4. Weight ve MatrixIndices beta[5] sürümüne dahil edilir; burada D3DFVF_LASTBETA_UBYTE4 beta[5] sürümündeki son DWORD'ü UBYTE4 türü olarak yorumlamayı söyler. |
|
D3DFVF_TEXCOUNT_SHIFT | Köşe için doku koordinatlarının sayısını tanımlayan bir tamsayı değerinin kaydırıldığı bit sayısı. Bu değer aşağıda gösterildiği gibi kullanılabilir.
|
Örnekler
Aşağıdaki örneklerde diğer yaygın bayrak bileşimleri gösterilmektedir.
// 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 );
Sabit Bilgi
Gereksinim | Değer |
---|---|
Üstbilgi | d3d9types.h |
En düşük işletim sistemi | Windows 98 |
İlgili konular