Struktur D3DCAPS9 (d3d9caps.h)
Mewakili kemampuan perangkat keras yang diekspos melalui objek Direct3D.
Sintaks
typedef struct _D3DCAPS9 {
D3DDEVTYPE DeviceType;
UINT AdapterOrdinal;
DWORD Caps;
DWORD Caps2;
DWORD Caps3;
DWORD PresentationIntervals;
DWORD CursorCaps;
DWORD DevCaps;
DWORD PrimitiveMiscCaps;
DWORD RasterCaps;
DWORD ZCmpCaps;
DWORD SrcBlendCaps;
DWORD DestBlendCaps;
DWORD AlphaCmpCaps;
DWORD ShadeCaps;
DWORD TextureCaps;
DWORD TextureFilterCaps;
DWORD CubeTextureFilterCaps;
DWORD VolumeTextureFilterCaps;
DWORD TextureAddressCaps;
DWORD VolumeTextureAddressCaps;
DWORD LineCaps;
DWORD MaxTextureWidth;
DWORD MaxTextureHeight;
DWORD MaxVolumeExtent;
DWORD MaxTextureRepeat;
DWORD MaxTextureAspectRatio;
DWORD MaxAnisotropy;
float MaxVertexW;
float GuardBandLeft;
float GuardBandTop;
float GuardBandRight;
float GuardBandBottom;
float ExtentsAdjust;
DWORD StencilCaps;
DWORD FVFCaps;
DWORD TextureOpCaps;
DWORD MaxTextureBlendStages;
DWORD MaxSimultaneousTextures;
DWORD VertexProcessingCaps;
DWORD MaxActiveLights;
DWORD MaxUserClipPlanes;
DWORD MaxVertexBlendMatrices;
DWORD MaxVertexBlendMatrixIndex;
float MaxPointSize;
DWORD MaxPrimitiveCount;
DWORD MaxVertexIndex;
DWORD MaxStreams;
DWORD MaxStreamStride;
DWORD VertexShaderVersion;
DWORD MaxVertexShaderConst;
DWORD PixelShaderVersion;
float PixelShader1xMaxValue;
DWORD DevCaps2;
float MaxNpatchTessellationLevel;
DWORD Reserved5;
UINT MasterAdapterOrdinal;
UINT AdapterOrdinalInGroup;
UINT NumberOfAdaptersInGroup;
DWORD DeclTypes;
DWORD NumSimultaneousRTs;
DWORD StretchRectFilterCaps;
D3DVSHADERCAPS2_0 VS20Caps;
D3DPSHADERCAPS2_0 PS20Caps;
DWORD VertexTextureFilterCaps;
DWORD MaxVShaderInstructionsExecuted;
DWORD MaxPShaderInstructionsExecuted;
DWORD MaxVertexShader30InstructionSlots;
DWORD MaxPixelShader30InstructionSlots;
} D3DCAPS9;
Anggota
DeviceType
Jenis: D3DDEVTYPE
Anggota jenis enumerasi D3DDEVTYPE , yang mengidentifikasi jenis sumber daya apa yang digunakan untuk memproses simpul.
AdapterOrdinal
Jenis: UINT
Adapter tempat perangkat Direct3D ini dibuat. Ordinal ini hanya valid untuk diteruskan ke metode antarmuka IDirect3D9 yang membuat perangkat Direct3D ini. Antarmuka IDirect3D9 selalu dapat diambil dengan memanggil GetDirect3D.
Caps
Jenis: DWORD
Kemampuan khusus driver berikut.
Nilai | Makna | |
---|---|---|
|
Piranti keras tampilan mampu mengembalikan baris pemindaian saat ini. | |
|
Driver tampilan mendukung DDI overlay yang memungkinkan verifikasi kemampuan overlay. Untuk informasi selengkapnya tentang DDI overlay, lihat Overlay DDI.
|
Caps2
Jenis: DWORD
Kemampuan khusus driver yang diidentifikasi di D3DCAPS2.
Caps3
Jenis: DWORD
Kemampuan khusus driver yang diidentifikasi dalam D3DCAPS3.
PresentationIntervals
Jenis: DWORD
Masker bit nilai yang mewakili interval pertukaran presentasi apa yang tersedia.
CursorCaps
Jenis: DWORD
Masker bit yang menunjukkan dukungan perangkat keras apa yang tersedia untuk kursor. Direct3D 9 tidak menentukan kemampuan kursor alpha-blending.
DevCaps
Jenis: DWORD
Bendera yang mengidentifikasi kemampuan perangkat.
Nilai | Makna |
---|---|
|
Perangkat mendukung blit dari tekstur memori sistem hingga tekstur memori video nonlokal. |
|
Perangkat dapat mengantre perintah penyajian setelah membalik halaman. Aplikasi tidak mengubah perilakunya jika bendera ini diatur; kemampuan ini berarti bahwa perangkat relatif cepat. |
|
Perangkat dapat mendukung setidaknya driver yang mematuhi DirectX 5. |
|
Perangkat dapat mendukung setidaknya driver yang mematuhi DirectX 7. |
|
Perangkat mengekspor IDirect3DDevice9::D rawPrimitive-aware hal. |
|
Perangkat dapat menggunakan buffer eksekusi dari memori sistem. |
|
Perangkat dapat menggunakan buffer eksekusi dari memori video. |
|
Perangkat memiliki akselerasi perangkat keras untuk rasterisasi adegan. |
|
Perangkat dapat mendukung transformasi dan pencahayaan dalam perangkat keras. |
|
Perangkat mendukung patch N. |
|
Perangkat dapat mendukung rasterisasi, transformasi, pencahayaan, dan bayangan dalam perangkat keras. |
|
Perangkat mendukung kurva Bézier kuintik dan B-splines. |
|
Perangkat mendukung patch persegi panjang dan segitiga. |
|
Ketika kemampuan perangkat ini diatur, arsitektur perangkat keras tidak memerlukan penembolokan informasi apa pun, dan patch yang tidak di-cache (menangani nol) akan digambar seefisien yang di-cache. Perhatikan bahwa pengaturan D3DDEVCAPS_RTPATCHHANDLEZERO tidak berarti bahwa patch dengan handel nol dapat digambar. Patch handle-zero selalu dapat digambar apakah batas ini diatur atau tidak. |
|
Perangkat berteksur dari kumpulan memori terpisah. |
|
Perangkat dapat mengambil tekstur dari memori video non-lokal. |
|
Perangkat dapat mengambil tekstur dari memori sistem. |
|
Perangkat dapat mengambil tekstur dari memori perangkat. |
|
Perangkat dapat menggunakan buffer dari memori sistem untuk simpul yang diubah dan menyala. |
|
Perangkat dapat menggunakan buffer dari memori video untuk sudut yang diubah dan menyala. |
PrimitiveMiscCaps
Jenis: DWORD
Kemampuan primitif driver lain-lain. Lihat D3DPMISCCAPS.
RasterCaps
Jenis: DWORD
Informasi tentang kemampuan menggambar raster. Anggota ini bisa menjadi satu atau beberapa bendera berikut.
Nilai | Makna |
---|---|
|
Perangkat mendukung pemfilteran anisotropic. |
|
Perangkat mengurai perspektif warna dengan benar. |
|
Perangkat dapat melakukan dither untuk meningkatkan resolusi warna. |
|
Perangkat mendukung bias kedalaman warisan. Untuk bias kedalaman sejati, lihat D3DPRASTERCAPS_SLOPESCALEDEPTHBIAS. |
|
Perangkat mendukung kabut berbasis rentang. Dalam kabut berbasis rentang, jarak objek dari penampil digunakan untuk menghitung efek kabut, bukan kedalaman objek (yaitu, koordinat z) dalam adegan. |
|
Perangkat menghitung nilai kabut dengan merujuk ke tabel pencarian yang berisi nilai kabut yang diindeks ke kedalaman piksel tertentu. |
|
Perangkat menghitung nilai kabut selama operasi pencahayaan dan menginterpolasi nilai kabut selama rasterisasi. |
|
Perangkat mendukung penyesuaian bias tingkat detail. Penyesuaian bias ini memungkinkan aplikasi untuk membuat mipmap tampak crisper atau kurang tajam dari biasanya. Untuk informasi selengkapnya tentang bias tingkat detail dalam mipmaps, lihat D3DSAMP_MIPMAPLODBIAS. |
|
Perangkat mendukung pengalihan multisampling aktif dan nonaktif antara IDirect3DDevice9::BeginScene dan IDirect3DDevice9::EndScene (menggunakan D3DRS_MULTISAMPLEANTIALIAS). |
|
Perangkat mendukung pengujian gunting. Lihat Tes Gunting (Direct3D 9). |
|
Perangkat melakukan bias kedalaman berbasis skala kelopak benar. Ini berbeda dengan bias kedalaman gaya warisan. |
|
Perangkat mendukung buffering kedalaman menggunakan w. |
|
Perangkat mendukung kabut berbasis w. Kabut berbasis W digunakan ketika matriks proyeksi perspektif ditentukan, tetapi proyeksi affine masih menggunakan kabut berbasis z. Sistem menganggap matriks proyeksi yang berisi nilai bukan nol dalam elemen [3][4] sebagai matriks proyeksi perspektif. |
|
Perangkat dapat melakukan penghapusan permukaan tersembunyi (HSR) tanpa mengharuskan aplikasi untuk mengurutkan poligon dan tanpa memerlukan alokasi buffer kedalaman. Ini meninggalkan lebih banyak memori video untuk tekstur. Metode yang digunakan untuk melakukan HSR tergantung pada perangkat keras dan transparan terhadap aplikasi.
HSR tanpa buffer Z dilakukan jika tidak ada permukaan buffer kedalaman yang terkait dengan permukaan target penyajian dan pengujian perbandingan buffer kedalaman diaktifkan (yaitu, ketika nilai status yang terkait dengan konstanta enumerasi D3DRS_ZENABLE diatur ke TRUE). |
|
Perangkat mendukung kabut berbasis z. |
|
Perangkat dapat melakukan operasi z-test. Ini secara efektif merender primitif dan menunjukkan apakah ada piksel z yang telah dirender. |
ZCmpCaps
Jenis: DWORD
Kemampuan perbandingan Z-buffer. Anggota ini bisa menjadi satu atau beberapa bendera berikut.
SrcBlendCaps
Jenis: DWORD
Kemampuan blending sumber. Anggota ini bisa menjadi satu atau beberapa bendera berikut. (Nilai RGBA sumber dan tujuan ditunjukkan oleh subskrip dan d.)
Nilai | Makna | |
---|---|---|
|
Driver mendukung D3DBLEND_BLENDFACTOR dan D3DBLEND_INVBLENDFACTOR. Lihat D3DBLEND. | |
|
Faktor campuran sumber adalah (1 - Sebagai, 1 - Sebagai, 1 - Sebagai, 1 - Sebagai) dan faktor campuran tujuan adalah (As, As, As, As); pilihan campuran tujuan ditimpa. | |
|
Driver mendukung mode campuran D3DBLEND_BOTHSRCALPHA. (Mode campuran ini sudah usang. Untuk informasi selengkapnya, lihat D3DBLEND.) | |
|
Faktor campuran adalah (Ad, Ad, Ad, A d, Ad). | |
|
Faktor campuran adalah (Rd, Gd, Bd, Ad). | |
|
Faktor campuran adalah (1 - Ad, 1 - Ad, 1 - Ad, 1 - Ad). | |
|
Faktor campuran adalah (1 - Rd, 1 - Gd, 1 - Bd, 1 - Ad). | |
|
Faktor campuran adalah (1 - Sebagai, 1 - Sebagai, 1 - Sebagai, 1 - Sebagai). | |
|
Faktor campuran adalah (1 - Rs, 1 - Gs, 1 - Bs, 1 - Sebagai). | |
|
Faktor campuran adalah (1 - PSOutColor[1]r, 1 - PSOutColor[1]g, 1 - PSOutColor[1]b, tidak digunakan)). Lihat Merender Blending Target.
|
|
|
Faktor campuran adalah (1, 1, 1, 1). | |
|
Faktor campuran adalah (As, As, As, As). | |
|
Faktor campuran adalah (f, f, f, 1); f = min(As, 1 - Ad). | |
|
Faktor campuran adalah (Rs, Gs, Bs, As). | |
|
Faktor campuran adalah (PSOutColor[1]r, PSOutColor[1]g, PSOutColor[1]b, tidak digunakan). Lihat Merender Blending Target.
|
|
|
Faktor campuran adalah (0, 0, 0, 0). |
DestBlendCaps
Jenis: DWORD
Kemampuan penpaduan tujuan. Anggota ini bisa menjadi kemampuan yang sama yang didefinisikan untuk anggota SrcBlendCaps.
AlphaCmpCaps
Jenis: DWORD
Kemampuan perbandingan uji alfa. Anggota ini dapat menyertakan bendera kemampuan yang sama yang ditentukan untuk anggota ZCmpCaps. Jika anggota ini hanya berisi kemampuan D3DPCMPCAPS_ALWAYS atau hanya kemampuan D3DPCMPCAPS_NEVER, driver tidak mendukung pengujian alfa. Jika tidak, bendera mengidentifikasi perbandingan individu yang didukung untuk pengujian alfa.
ShadeCaps
Jenis: DWORD
Kemampuan operasi bayangan. Diasumsikan, secara umum, bahwa jika perangkat mendukung perintah tertentu sama sekali, perangkat mendukung mode D3DSHADE_FLAT (seperti yang ditentukan dalam jenis enumerasi D3DSHADEMODE ). Bendera ini menentukan apakah driver juga dapat mendukung bayangan Gouraud dan apakah komponen warna alfa didukung. Ketika komponen alfa tidak didukung, nilai alfa warna yang dihasilkan secara implisit 255. Ini adalah alfa maksimum yang mungkin (yaitu, komponen alfa berada pada intensitas penuh).
Warna, sorotan spekular, kabut, dan interpolan alfa dari segitiga masing-masing memiliki bendera kemampuan yang dapat digunakan aplikasi untuk mengetahui bagaimana mereka diimplementasikan oleh driver perangkat.
Anggota ini bisa menjadi satu atau beberapa bendera berikut.
TextureCaps
Jenis: DWORD
Kemampuan pemetaan tekstur lain-lain. Anggota ini bisa menjadi satu atau beberapa bendera berikut.
Nilai | Makna |
---|---|
|
Alpha dalam piksel tekstur didukung. |
|
Perangkat dapat menggambar alfa dari palet tekstur. |
|
Mendukung tekstur kubus. |
|
Perangkat mengharuskan peta tekstur kubus memiliki dimensi yang ditentukan sebagai kekuatan dua. |
|
Perangkat mendukung tekstur kubus mipmapped. |
|
Perangkat mendukung tekstur mipmapped. |
|
Perangkat mendukung tekstur volume mipmapped. |
|
D3DPTEXTURECAPS_POW2 juga diatur, secara kondisional mendukung penggunaan tekstur 2D dengan dimensi yang bukan kekuatan dua. Perangkat yang mengekspos kemampuan ini dapat menggunakan tekstur seperti itu jika semua persyaratan berikut terpenuhi.
Jika bendera ini tidak diatur, dan D3DPTEXTURECAPS_POW2 juga tidak diatur, maka dukungan tanpa syarat disediakan untuk tekstur 2D dengan dimensi yang bukan kekuatan dua. Tekstur yang bukan kekuatan dua tidak dapat diatur pada tahap yang akan dibaca berdasarkan komputasi shader (seperti bem - ps dan texm3x3 - instruksi ps dalam shader piksel versi 1_0 hingga 1_3). Misalnya, tekstur ini dapat digunakan untuk menyimpan benjolan yang akan diumpankan ke dalam pembacaan tekstur, tetapi bukan peta lingkungan yang digunakan dalam texbem - ps, texbeml - ps, dan texm3x3spec - ps. Ini berarti bahwa tekstur dengan dimensi yang bukan kekuatan dua tidak dapat ditangani atau diambil sampelnya menggunakan koordinat tekstur yang dihitung dalam shader. Jenis operasi ini dikenal sebagai baca dependen dan tidak dapat dilakukan pada jenis tekstur ini. |
|
Perangkat tidak mendukung operasi pencarian lingkungan benjolan yang diproyeksikan dalam shader fungsi yang dapat diprogram dan tetap. |
|
Teksur koreksi perspektif didukung. |
|
Jika D3DPTEXTURECAPS_NONPOW2CONDITIONAL tidak diatur, semua tekstur harus memiliki lebar dan tinggi yang ditentukan sebagai daya dua. Persyaratan ini tidak berlaku untuk tekstur kubus atau tekstur volume.
Jika D3DPTEXTURECAPS_NONPOW2CONDITIONAL juga diatur, secara kondisional mendukung penggunaan tekstur 2D dengan dimensi yang bukan kekuatan dua. Lihat deskripsi D3DPTEXTURECAPS_NONPOW2CONDITIONAL. Jika bendera ini tidak diatur, dan D3DPTEXTURECAPS_NONPOW2CONDITIONAL juga tidak diatur, maka dukungan tanpa syarat disediakan untuk tekstur 2D dengan dimensi yang bukan kekuatan dua. |
|
Mendukung bendera transformasi tekstur D3DTTFF_PROJECTED. Saat diterapkan, perangkat membagi koordinat tekstur yang diubah dengan koordinat tekstur terakhir. Jika kemampuan ini ada, maka pembagian proyektif terjadi per piksel. Jika kemampuan ini tidak ada, tetapi pembagian proyektif tetap perlu terjadi, maka itu dilakukan berdasarkan per puncak oleh runtime Direct3D. |
|
Semua tekstur harus persegi. |
|
Indeks tekstur tidak diskalakan oleh ukuran tekstur sebelum interpolasi. |
|
Perangkat mendukung tekstur volume. |
|
Perangkat mengharuskan peta tekstur volume memiliki dimensi yang ditentukan sebagai kekuatan dua. |
TextureFilterCaps
Jenis: DWORD
Kemampuan pemfilteran tekstur untuk tekstur. Kemampuan pemfilteran per tahap mencerminkan mode pemfilteran mana yang didukung untuk tahap tekstur saat melakukan perpaduan beberapa tekstur. Anggota ini dapat menjadi kombinasi dari bendera pemfilteran tekstur per tahap yang ditentukan dalam D3DPTFILTERCAPS.
CubeTextureFilterCaps
Jenis: DWORD
Kemampuan pemfilteran tekstur untuk tekstur kubus. Kemampuan pemfilteran per tahap mencerminkan mode pemfilteran mana yang didukung untuk tahap tekstur saat melakukan perpaduan beberapa tekstur. Anggota ini dapat menjadi kombinasi dari bendera pemfilteran tekstur per tahap yang ditentukan dalam D3DPTFILTERCAPS.
VolumeTextureFilterCaps
Jenis: DWORD
Kemampuan pemfilteran tekstur untuk tekstur volume. Kemampuan pemfilteran per tahap mencerminkan mode pemfilteran mana yang didukung untuk tahap tekstur saat melakukan perpaduan beberapa tekstur. Anggota ini dapat menjadi kombinasi dari bendera pemfilteran tekstur per tahap yang ditentukan dalam D3DPTFILTERCAPS.
TextureAddressCaps
Jenis: DWORD
Kemampuan alamat tekstur untuk objek tekstur. Anggota ini bisa menjadi satu atau beberapa bendera berikut.
VolumeTextureAddressCaps
Jenis: DWORD
Kemampuan alamat tekstur untuk tekstur volume. Anggota ini dapat menjadi satu atau beberapa bendera yang ditentukan untuk anggota TextureAddressCaps.
LineCaps
Jenis: DWORD
Mendefinisikan kemampuan untuk primitif gambar garis.
MaxTextureWidth
Jenis: DWORD
Lebar tekstur maksimum untuk perangkat ini.
MaxTextureHeight
Jenis: DWORD
Tinggi tekstur maksimum untuk perangkat ini.
MaxVolumeExtent
Jenis: DWORD
Nilai maksimum untuk salah satu dari tiga dimensi (lebar, tinggi, dan kedalaman) tekstur volume.
MaxTextureRepeat
Jenis: DWORD
Angka ini menunjukkan rentang maksimum bit bilangan bulat dari koordinat tekstur pasca-dinormalisasi. Koordinat tekstur disimpan sebagai bilangan bulat bertanda 32-bit menggunakan 27 bit untuk menyimpan bagian bilangan bulat dan 5 bit untuk pecahan titik mengambang. Indeks bilangan bulat maksimum, 2²⁷, digunakan untuk menentukan koordinat tekstur maksimum, tergantung pada bagaimana perangkat keras melakukan penskalaan koordinat tekstur.
Beberapa perangkat keras melaporkan batas D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE. Untuk kasus ini, perangkat menangguhkan koordinat tekstur penskalaan berdasarkan ukuran tekstur hingga setelah interpolasi dan penerapan mode alamat tekstur, sehingga berapa kali tekstur dapat dibungkus diberikan oleh nilai bilangan bulat dalam MaxTextureRepeat.
Kurang diinginkan, pada beberapa D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE perangkat keras tidak diatur dan perangkat menskalakan koordinat tekstur berdasarkan ukuran tekstur (menggunakan tingkat detail tertinggi) sebelum interpolasi. Ini membatasi berapa kali tekstur dapat dibungkus ke ukuran MaxTextureRepeat / tekstur.
Misalnya, asumsikan bahwa MaxTextureRepeat sama dengan 32k dan ukuran teksturnya adalah 4k. Jika set perangkat keras D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE, maka berapa kali tekstur dapat dibungkus sama dengan MaxTextureRepeat, yaitu 32k dalam contoh ini. Jika tidak, berapa kali tekstur dapat dibungkus sama dengan MaxTextureRepeat dibagi dengan ukuran tekstur, yaitu 32k/4k dalam contoh ini.
MaxTextureAspectRatio
Jenis: DWORD
Rasio aspek tekstur maksimum yang didukung oleh perangkat keras, biasanya kekuatan 2.
MaxAnisotropy
Jenis: DWORD
Nilai valid maksimum untuk status tahap tekstur D3DSAMP_MAXANISOTROPY.
MaxVertexW
Jenis: float
Nilai kedalaman berbasis W maksimum yang didukung perangkat.
GuardBandLeft
Jenis: float
Koordinat ruang layar dari wilayah kliping guard-band. Koordinat di dalam persegi ini tetapi di luar persegi panjang viewport secara otomatis terpotong.
GuardBandTop
Jenis: float
Koordinat ruang layar dari wilayah kliping guard-band. Koordinat di dalam persegi ini tetapi di luar persegi panjang viewport secara otomatis terpotong.
GuardBandRight
Jenis: float
Koordinat ruang layar dari wilayah kliping guard-band. Koordinat di dalam persegi ini tetapi di luar persegi panjang viewport secara otomatis terpotong.
GuardBandBottom
Jenis: float
Koordinat ruang layar dari wilayah kliping guard-band. Koordinat di dalam persegi ini tetapi di luar persegi panjang viewport secara otomatis terpotong.
ExtentsAdjust
Jenis: float
Jumlah piksel untuk menyesuaikan persegi panjang luar untuk mengakomodasi kernel antialias.
StencilCaps
Jenis: DWORD
Bendera yang menentukan operasi stensil-buffer yang didukung. Operasi stensil diasumsikan berlaku untuk ketiga status render operasi stensil-buffer (D3DRS_STENCILFAIL, D3DRS_STENCILPASS, dan D3DRS_STENCILZFAIL).
Untuk informasi selengkapnya, lihat D3DSTENCILCAPS.
FVFCaps
Jenis: DWORD
Kemampuan format vertex yang fleksibel.
TextureOpCaps
Jenis: DWORD
Kombinasi bendera yang menjelaskan operasi tekstur yang didukung oleh perangkat ini. Bendera berikut ditentukan.
MaxTextureBlendStages
Jenis: DWORD
Jumlah maksimum tahap penpaduan tekstur yang didukung dalam alur fungsi tetap. Nilai ini adalah jumlah blender yang tersedia. Dalam alur piksel yang dapat diprogram, ini sesuai dengan jumlah register tekstur unik yang digunakan oleh instruksi piksel shader.
MaxSimultaneousTextures
Jenis: DWORD
Jumlah maksimum tekstur yang dapat secara bersamaan terikat ke tahap sampler alur fungsi tetap. Jika tekstur yang sama terikat ke dua tahap sampler, tekstur dihitung sebagai dua tekstur.
Nilai ini tidak memiliki arti dalam alur yang dapat diprogram di mana jumlah tahap sampler ditentukan oleh setiap versi shader piksel. Setiap versi shader piksel juga menentukan jumlah instruksi deklarasi tekstur. Lihat Pixel Shaders.
VertexProcessingCaps
Jenis: DWORD
Kemampuan pemrosesan vertex. Untuk perangkat fisik tertentu, kemampuan ini mungkin bervariasi di seluruh perangkat Direct3D tergantung pada parameter yang disediakan untuk CreateDevice. Lihat D3DVTXPCAPS.
MaxActiveLights
Jenis: DWORD
Jumlah maksimum lampu yang dapat aktif secara bersamaan. Untuk perangkat fisik tertentu, kemampuan ini mungkin bervariasi di seluruh perangkat Direct3D tergantung pada parameter yang disediakan untuk CreateDevice.
MaxUserClipPlanes
Jenis: DWORD
Jumlah maksimum bidang kliping yang ditentukan pengguna yang didukung. Anggota ini bisa 0. Untuk perangkat fisik tertentu, kemampuan ini dapat bervariasi di seluruh perangkat Direct3D tergantung pada parameter yang disediakan untuk CreateDevice.
MaxVertexBlendMatrices
Jenis: DWORD
Jumlah maksimum matriks yang dapat diterapkan perangkat ini saat melakukan perpaduan verteks multimatrix. Untuk perangkat fisik tertentu, kemampuan ini dapat bervariasi di seluruh perangkat Direct3D tergantung pada parameter yang disediakan untuk CreateDevice.
MaxVertexBlendMatrixIndex
Jenis: DWORD
Nilai DWORD yang menentukan indeks matriks maksimum yang dapat diindeks menggunakan indeks per-vertex. Jumlah matriks adalah MaxVertexBlendMatrixIndex + 1, yang merupakan ukuran palet matriks. Jika normal ada dalam data puncak yang perlu dipadukan untuk pencahayaan, maka jumlah matriks adalah setengah dari angka yang ditentukan oleh bendera kemampuan ini. Jika MaxVertexBlendMatrixIndex diatur ke nol, driver tidak mendukung penpaduan vertex terindeks. Jika nilai ini bukan nol, maka rentang indeks yang valid adalah nol melalui MaxVertexBlendMatrixIndex.
Nilai nol untuk MaxVertexBlendMatrixIndex menunjukkan bahwa driver tidak mendukung matriks terindeks.
Ketika pemrosesan vertex perangkat lunak digunakan, 256 matriks dapat digunakan untuk perpaduan vertex terindeks, dengan atau tanpa pencamuran normal.
Untuk perangkat fisik tertentu, kemampuan ini dapat bervariasi di seluruh perangkat Direct3D tergantung pada parameter yang disediakan untuk CreateDevice.
MaxPointSize
Jenis: float
Ukuran maksimum titik primitif. Jika diatur ke 1.0f, maka perangkat tidak mendukung kontrol ukuran titik. Rentangnya lebih besar dari atau sama dengan 1,0f.
MaxPrimitiveCount
Jenis: DWORD
Jumlah maksimum primitif untuk setiap panggilan DrawPrimitive . Ada dua kasus:
- Jika MaxPrimitiveCount tidak sama dengan 0xffff, Anda dapat menggambar paling banyak primitif MaxPrimitiveCount dengan setiap panggilan gambar.
- Namun, jika MaxPrimitiveCount sama dengan 0xffff, Anda masih dapat menggambar paling banyak MaxPrimitiveCount primitif, tetapi Anda juga dapat menggunakan tidak lebih dari simpul unik MaxPrimitiveCount (karena setiap primitif berpotensi menggunakan tiga simpul yang berbeda).
MaxVertexIndex
Jenis: DWORD
Ukuran maksimum indeks yang didukung untuk pemrosesan puncak perangkat keras. Dimungkinkan untuk membuat buffer indeks 32-bit; namun, Anda tidak akan dapat merender dengan buffer indeks kecuali nilai ini lebih besar dari 0x0000FFFF.
MaxStreams
Jenis: DWORD
Jumlah maksimum aliran data bersamaan untuk SetStreamSource. Rentang yang valid adalah 1 hingga 16. Perhatikan bahwa jika nilai ini adalah 0, maka driver bukan driver Direct3D 9.
MaxStreamStride
Jenis: DWORD
Langkah maksimum untuk SetStreamSource.
VertexShaderVersion
Jenis: DWORD
Dua angka yang mewakili shader puncak utama dan sub versi. Untuk informasi selengkapnya tentang instruksi yang didukung untuk setiap versi shader vertex, lihat Versi 1_x, Versi 2_0, Versi 2_0 Diperluas, atau Versi 3_0.
MaxVertexShaderConst
Jenis: DWORD
Jumlah vertex shader Vertex Shader Register yang disediakan untuk konstanta.
PixelShaderVersion
Jenis: DWORD
Dua angka yang mewakili shader piksel utama dan sub versi. Untuk informasi selengkapnya tentang instruksi yang didukung untuk setiap versi shader piksel, lihat Versi 1_x, Versi 2_0, Versi 2_0 Diperluas, atau Versi 3_0.
PixelShader1xMaxValue
Jenis: float
Nilai maksimum komponen aritmatika shader piksel. Nilai ini menunjukkan rentang nilai internal yang didukung untuk operasi penpaduan warna piksel. Dalam rentang yang mereka laporkan, implementasi harus memungkinkan data untuk melewati pemrosesan piksel yang tidak dimodifikasi (tidak terlampir). Biasanya, nilai anggota ini adalah nilai absolut. Misalnya, 1,0 menunjukkan bahwa rentangnya adalah -1,0 hingga 1, dan 8,0 menunjukkan bahwa rentangnya adalah -8,0 hingga 8,0. Nilainya harus >= 1.0 untuk perangkat keras apa pun yang mendukung shader piksel.
DevCaps2
Jenis: DWORD
Kemampuan driver perangkat untuk tessellation adaptif. Untuk informasi selengkapnya, lihat D3DDEVCAPS2
MaxNpatchTessellationLevel
TBD
Reserved5
TBD
MasterAdapterOrdinal
Jenis: UINT
Angka ini menunjukkan perangkat mana yang merupakan master untuk bawahan ini. Angka ini diambil dari ruang yang sama dengan nilai adaptor.
Untuk dukungan multihead, satu kepala akan ditandai kepala master, dan semua kepala lain pada kartu yang sama akan ditandai kepala bawahan. Jika lebih dari satu adaptor multihead ada dalam sistem, master dan bawahannya dari satu adaptor multihead disebut grup.
AdapterOrdinalInGroup
Jenis: UINT
Angka ini menunjukkan urutan di mana kepala dirujuk oleh API. Nilai untuk adaptor master selalu 0. Nilai-nilai ini tidak sesuai dengan ordinal adaptor. Mereka hanya berlaku untuk kepala dalam grup.
NumberOfAdaptersInGroup
Jenis: UINT
Jumlah adaptor dalam grup adaptor ini (hanya jika master). Ini akan menjadi 1 untuk adaptor konvensional. Nilainya akan lebih besar dari 1 untuk adaptor master kartu multihead. Nilainya akan menjadi 0 untuk adaptor bawahan kartu multihead. Setiap kartu dapat memiliki paling banyak satu master, tetapi mungkin memiliki banyak bawahan.
DeclTypes
Jenis: DWORD
Kombinasi satu atau beberapa jenis data yang terkandung dalam deklarasi puncak. Lihat D3DDTCAPS.
NumSimultaneousRTs
Jenis: DWORD
Jumlah target render simultan. Angka ini harus minimal satu.
StretchRectFilterCaps
Jenis: DWORD
Kombinasi konstanta yang menjelaskan operasi yang didukung oleh StretchRect. Bendera yang mungkin diatur dalam bidang ini adalah:
Terus-menerus | Deskripsi |
---|---|
D3DPTFILTERCAPS_MINFPOINT | Perangkat mendukung pemfilteran sampel titik untuk menambang persegi panjang. Jenis filter ini diminta dengan memanggil StretchRect menggunakan D3DTEXF_POINT. |
D3DPTFILTERCAPS_MAGFPOINT | Perangkat mendukung pemfilteran sampel titik untuk memperbesar persegi panjang. Jenis filter ini diminta dengan memanggil StretchRect menggunakan D3DTEXF_POINT. |
D3DPTFILTERCAPS_MINFLINEAR | Perangkat mendukung pemfilteran interpolasi bilinear untuk menambang persegi panjang. Jenis filter ini diminta dengan memanggil StretchRect menggunakan D3DTEXF_LINEAR. |
D3DPTFILTERCAPS_MAGFLINEAR | Perangkat mendukung pemfilteran interpolasi bilinear untuk memperbesar persegi panjang. Jenis filter ini diminta dengan memanggil StretchRect menggunakan D3DTEXF_LINEAR. |
Untuk informasi selengkapnya, lihat D3DTEXTUREFILTERTYPE dan D3DTEXTUREFILTERTYPE.
VS20Caps
Jenis: D3DVSHADERCAPS2_0
Perangkat mendukung kemampuan vertex shader versi 2_0 yang diperluas. Lihat D3DVSHADERCAPS2_0.
PS20Caps
Jenis: D3DPSHADERCAPS2_0
Perangkat mendukung kemampuan piksel shader versi 2_0 yang diperluas. Lihat D3DPSHADERCAPS2_0.
VertexTextureFilterCaps
Jenis: DWORD
Perangkat mendukung kemampuan filter tekstur shader vertex. Lihat D3DPTFILTERCAPS.
MaxVShaderInstructionsExecuted
Jenis: DWORD
Jumlah maksimum instruksi shader vertex yang dapat dijalankan saat menggunakan kontrol alur. Jumlah maksimum instruksi yang dapat diprogram adalah MaxVertexShader30InstructionSlots.
MaxPShaderInstructionsExecuted
Jenis: DWORD
Jumlah maksimum instruksi pemisah piksel yang dapat dijalankan saat menggunakan kontrol alur. Jumlah maksimum instruksi yang dapat diprogram adalah MaxPixelShader30InstructionSlots.
MaxVertexShader30InstructionSlots
Jenis: DWORD
Jumlah maksimum slot instruksi shader vertex yang didukung. Nilai maksimum yang dapat diatur pada batas ini adalah 32768. Perangkat yang mendukung vs_3_0 diperlukan untuk mendukung setidaknya 512 slot instruksi.
MaxPixelShader30InstructionSlots
Jenis: DWORD
Jumlah maksimum slot instruksi pemisah piksel yang didukung. Nilai maksimum yang dapat diatur pada batas ini adalah 32768. Perangkat yang mendukung ps_3_0 diperlukan untuk mendukung setidaknya 512 slot instruksi.
Keterangan
Anggota MaxTextureBlendStages dan MaxSimultaneousTextures mungkin tampak mirip, tetapi berisi informasi yang berbeda. Anggota MaxTextureBlendStages berisi jumlah total tahapan penpaduan tekstur yang didukung oleh perangkat saat ini, dan anggota MaxSimultaneousTextures menjelaskan berapa banyak tahapan tersebut yang dapat memiliki tekstur yang terikat dengannya dengan menggunakan metode SetTexture .
Ketika driver mengisi struktur ini, driver dapat mengatur nilai untuk kemampuan execute-buffer, bahkan ketika antarmuka yang digunakan untuk mengambil kemampuan (seperti IDirect3DDevice9) tidak mendukung buffer eksekusi.
Secara umum, masalah performa dapat terjadi jika Anda menggunakan tekstur dan kemudian memodifikasinya selama adegan. Pastikan bahwa tidak ada tekstur yang digunakan dalam blok BeginScene dan EndScene saat ini yang dikeluarkan kecuali benar-benar diperlukan. Dalam kasus penggunaan tekstur yang sangat tinggi dalam adegan, hasilnya tidak ditentukan. Ini terjadi ketika Anda memodifikasi tekstur yang telah Anda gunakan dalam adegan dan tidak ada memori tekstur cadangan yang tersedia. Untuk sistem tersebut, konten z-buffer menjadi tidak valid di EndScene. Aplikasi tidak boleh memanggil UpdateSurface ke atau dari buffer belakang pada jenis perangkat keras ini di dalam pasangan BeginScene/EndScene. Selain itu, aplikasi tidak boleh mencoba mengakses z-buffer jika bendera kemampuan D3DPRASTERCAPS_ZBUFFERLESSHSR diatur. Akhirnya, aplikasi tidak boleh mengunci buffer belakang atau z-buffer di dalam pasangan BeginScene/EndScene.
Bendera berikut mengenai tekstur mipmapped tidak didukung di Direct3D 9.
- D3DPTFILTERCAPS_LINEAR
- D3DPTFILTERCAPS_LINEARMIPLINEAR
- D3DPTFILTERCAPS_LINEARMIPNEAREST
- D3DPTFILTERCAPS_MIPNEAREST
- D3DPTFILTERCAPS_NEAREST
Persyaratan
Header | d3d9caps.h |