D3DFVF
Flexible Vertex Format Constants, atau kode FVF, digunakan untuk menjelaskan konten simpul yang diselingi dalam satu aliran data yang akan diproses oleh alur fungsi tetap.
Bendera Data Vertex
Bendera berikut menjelaskan format puncak. Untuk informasi mengenai format vertex, lihat Kode FVF Fungsi Tetap (Direct3D 9).
#define | Deskripsi | Urutan dan jenis data |
---|---|---|
D3DFVF_DIFFUSE | Format vertex menyertakan komponen warna yang berbeda. | DWORD dalam urutan ARGB. Lihat D3DCOLOR_ARGB. |
D3DFVF_NORMAL | Format vertex mencakup vektor normal vertex. Bendera ini tidak dapat digunakan dengan bendera D3DFVF_XYZRHW. | float, float, float |
D3DFVF_PSIZE | Format vertex ditentukan dalam ukuran titik. Ukuran ini dinyatakan dalam unit ruang kamera untuk simpul yang tidak diubah dan menyala, dan dalam unit ruang perangkat untuk simpul yang ditransformasi dan menyala. | float |
D3DFVF_SPECULAR | Format puncak mencakup komponen warna spekular. | DWORD dalam urutan ARGB. Lihat D3DCOLOR_ARGB. |
D3DFVF_XYZ | Format vertex mencakup posisi vertex yang tidak ditransformasi. Bendera ini tidak dapat digunakan dengan bendera D3DFVF_XYZRHW. | float, float, float. |
D3DFVF_XYZRHW | Format vertex mencakup posisi vertex yang diubah. Bendera ini tidak dapat digunakan dengan bendera D3DFVF_XYZ atau D3DFVF_NORMAL. | float, float, float, float. |
D3DFVF_XYZB1 melalui D3DFVF_XYZB5 | Format vertex berisi data posisi, dan jumlah nilai pembobotan (beta) yang sesuai untuk digunakan untuk operasi penpaduan verteks multimatrix. Saat ini, Direct3D dapat memadukan hingga tiga nilai pembobotan dan empat matriks campuran. Untuk informasi selengkapnya tentang menggunakan matriks campuran, lihat Blending Vertex Terindeks (Direct3D 9). | 1, 2, atau 3 float. Ketika D3DFVF_LASTBETA_UBYTE4 digunakan, bobot campuran terakhir diperlakukan sebagai DWORD. |
D3DFVF_XYZW | Format puncak berisi data yang diubah dan diklip (x, y, z, w). ProcessVertices tidak memanggil clipper, sebagai gantinya mengeluarkan data dalam koordinat klip. Konstanta ini dirancang untuk, dan hanya dapat digunakan dengan, alur vertex yang dapat diprogram. | float, float, float, float |
Bendera Tekstur
Bendera berikut menjelaskan bendera tekstur yang digunakan oleh alur fungsi tetap.
#define | Deskripsi |
---|---|
D3DFVF_TEX0 - D3DFVF_TEX8 | Jumlah set koordinat tekstur untuk puncak ini. Nilai aktual untuk bendera ini tidak berurutan. |
D3DFVF_TEXCOORDSIZEN(coordIndex) | Tentukan himpunan data koordinat tekstur. n menunjukkan dimensi koordinat tekstur. coordIndex menunjukkan nomor indeks koordinat tekstur. Lihat koordinat D3DFVF_TEXCOORDSIZEN dan Tekstur dan Tahapan Tekstur. |
Bendera Masker
Bendera berikut menjelaskan bendera masker yang digunakan oleh alur fungsi tetap.
#define | Deskripsi |
---|---|
D3DFVF_POSITION_MASK | Masker untuk bit posisi. |
D3DFVF_RESERVED0, D3DFVF_RESERVED2 | Menutupi nilai untuk bit yang dipesan di FVF. Jangan gunakan. |
D3DFVF_TEXCOUNT_MASK | Nilai mask untuk bit bendera tekstur. |
Bendera Lain-lain
Bendera berikut menjelaskan berbagai bendera yang digunakan oleh alur fungsi tetap.
#define | Deskripsi | |
D3DFVF_LASTBETA_D3DCOLOR | Bidang beta terakhir dalam data posisi puncak akan berjenis D3DCOLOR. Data dalam bidang beta digunakan dengan pengkulian palet matriks untuk menentukan indeks matriks. | |
D3DFVF_LASTBETA_UBYTE4 | Bidang beta terakhir dalam data posisi puncak akan berjenis UBYTE4. Data dalam bidang beta digunakan dengan pengkulian palet matriks untuk menentukan indeks matriks.
Mengingat FVF dinyatakan sebagai: D3DFVF_XYZB5 | D3DFVF_LASTBETA_UBYTE4. Berat dan MatrixIndices disertakan dalam beta[5], di mana D3DFVF_LASTBETA_UBYTE4 mengatakan untuk menafsirkan DWORD terakhir dalam beta[5] sebagai jenis UBYTE4. |
|
D3DFVF_TEXCOUNT_SHIFT | Jumlah bit untuk menggeser nilai bilangan bulat yang mengidentifikasi jumlah koordinat tekstur untuk vertex. Nilai ini mungkin digunakan seperti yang ditunjukkan di bawah ini.
|
Contoh
Contoh berikut menunjukkan kombinasi bendera umum lainnya.
// 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 );
Informasi Konstanta
Persyaratan | Nilai |
---|---|
Header | d3d9types.h |
Sistem operasi minimum | Windows 98 |
Topik terkait