Bagikan melalui


struktur D3DHAL_D3DEXTENDEDCAPS (d3dhal.h)

D3DHAL_D3DEXTENDEDCAPS menjelaskan kemampuan 3D tambahan driver.

Sintaks

typedef struct _D3DHAL_D3DEXTENDEDCAPS {
  DWORD    dwSize;
  DWORD    dwMinTextureWidth;
  DWORD    dwMaxTextureWidth;
  DWORD    dwMinTextureHeight;
  DWORD    dwMaxTextureHeight;
  DWORD    dwMinStippleWidth;
  DWORD    dwMaxStippleWidth;
  DWORD    dwMinStippleHeight;
  DWORD    dwMaxStippleHeight;
  DWORD    dwMaxTextureRepeat;
  DWORD    dwMaxTextureAspectRatio;
  DWORD    dwMaxAnisotropy;
  D3DVALUE dvGuardBandLeft;
  D3DVALUE dvGuardBandTop;
  D3DVALUE dvGuardBandRight;
  D3DVALUE dvGuardBandBottom;
  D3DVALUE dvExtentsAdjust;
  DWORD    dwStencilCaps;
  DWORD    dwFVFCaps;
  DWORD    dwTextureOpCaps;
  WORD     wMaxTextureBlendStages;
  WORD     wMaxSimultaneousTextures;
  DWORD    dwMaxActiveLights;
  D3DVALUE dvMaxVertexW;
  WORD     wMaxUserClipPlanes;
  WORD     wMaxVertexBlendMatrices;
  DWORD    dwVertexProcessingCaps;
  DWORD    dwReserved1;
  DWORD    dwReserved2;
  DWORD    dwReserved3;
  DWORD    dwReserved4;
} D3DHAL_D3DEXTENDEDCAPS;

Anggota

dwSize

Menentukan ukuran dalam byte dari struktur D3DHAL_D3DEXTENDEDCAPS ini.

dwMinTextureWidth

Tentukan lebar tekstur minimum, dalam piksel, yang didukung oleh driver atau perangkat. Anggota ini biasanya memiliki kekuatan 2. Anggota ini disediakan sebagai petunjuk untuk aplikasi, dan merupakan tanggung jawab aplikasi untuk menyesuaikan ukuran tekstur bila perlu.

dwMaxTextureWidth

Tentukan lebar tekstur maksimum, dalam piksel, didukung oleh driver atau perangkat. Anggota ini biasanya memiliki kekuatan 2. Anggota ini disediakan sebagai petunjuk untuk aplikasi, dan merupakan tanggung jawab aplikasi untuk menyesuaikan ukuran tekstur bila perlu.

dwMinTextureHeight

Tentukan tinggi tekstur minimum, dalam piksel, yang didukung oleh driver. Anggota ini biasanya memiliki kekuatan 2.

dwMaxTextureHeight

Tentukan tinggi tekstur maksimum, dalam piksel, yang didukung oleh driver. Anggota ini biasanya memiliki kekuatan 2.

dwMinStippleWidth

Tentukan lebar tipple minimum, dalam piksel, yang didukung oleh driver.

dwMaxStippleWidth

Tentukan lebar maksimum stipple, dalam piksel, yang didukung oleh driver.

dwMinStippleHeight

Tentukan tinggi stipple minimum, dalam piksel, yang didukung oleh driver.

dwMaxStippleHeight

Tentukan tinggi maksimum stipple, dalam piksel, yang didukung oleh driver.

dwMaxTextureRepeat

Menentukan rentang penuh bit bilangan bulat (subfraksi) dari indeks tekstur postnormalisasi. Jika bit D3DDEVCAPS_TEXREPEATNOTSCALEDBYSIZE diatur, maka berapa kali tekstur dapat dibungkus ditentukan oleh anggota ini. Jika bit D3DDEVCAPS_TEXREPEATNOTSCALEDBYSIZE tidak diatur, maka jumlah waktu tekstur dapat dibungkus diberikan oleh ekspresi: dwMaxTextureRepeat * (ukuran tekstur).

dwMaxTextureAspectRatio

Menentukan rasio aspek tekstur maksimum yang didukung oleh perangkat keras. Anggota ini biasanya memiliki kekuatan 2. Rasio aspek maksimum ini disediakan sebagai ukuran tinggi tekstur dalam piksel yang dibagi dengan lebarnya dalam piksel, atau lebarnya dibagi dengan tinggi, mana pun yang menghasilkan hasil yang lebih besar. Misalnya, tekstur yang lebarnya 8192 piksel dengan lebar 1 piksel atau lebar 1 piksel dengan tinggi 8192 tidak valid dengan perangkat layar yang hanya mendukung rasio aspek maksimum 4092. Jika perangkat keras tidak terbatas pada rasio aspek, dwMaxTextureAspectRatio adalah yang lebih besar dari dwMaxTextureWidth dan dwMaxTextureHeight.

dwMaxAnisotropy

Menentukan nilai valid maksimum untuk status render D3DRENDERSTATE_ANISOTROPY. Jika perangkat keras driver tidak mendukung pemfilteran anisotropic, driver harus mengatur anggota ini ke 1. Mengatur anggota ini ke 0 menunjukkan nilai yang tidak valid.

dvGuardBandLeft

dvGuardBandTop

dvGuardBandRight

dvGuardBandBottom

Tentukan koordinat ruang layar, dalam piksel, dari wilayah klip pita penjaga. Sudut kiri atas persegi panjang ini memiliki koordinat (dvGuardBandLeft, dvGuardBandTop). Sudut kiri bawah memiliki koordinat (dvGuardBandRight, dvGuardBandBottom). Koordinat di dalam persegi ini tetapi di luar persegi panjang viewport secara otomatis terpotong.

dvExtentsAdjust

Menentukan jumlah piksel yang diperlukan untuk menyesuaikan persegi panjang luar untuk mengakomodasi kernel antialias.

dwStencilCaps

Menentukan operasi buffer stensil yang didukung oleh driver atau perangkat. Untuk deskripsi lebih lanjut tentang operasi buffer stensil yang diperlihatkan dalam tabel berikut, lihat D3DSTENCILOP dalam dokumentasi DirectX SDK. Operasi stensil diasumsikan berlaku untuk ketiga status render operasi buffer stensil (D3DRENDERSTATE_STENCILFAIL, D3DRENDERSTATE_STENCILPASS, dan D3DRENDERSTATE_STENCILZFAIL). Anggota ini bisa menjadi bitwise ATAU dari salah satu nilai berikut:

Nilai Operasi Buffer Stensil
D3DSTENCILCAPS_DECR Operasi D3DSTENCILOP_DECR didukung.
D3DSTENCILCAPS_DECRSAT Operasi D3DSTENCILOP_DECRSAT didukung.
D3DSTENCILCAPS_INCR Operasi D3DSTENCILOP_INCR didukung.
D3DSTENCILCAPS_INCRSAT Operasi D3DSTENCILOP_INCRSAT didukung.
D3DSTENCILCAPS_INVERT Operasi D3DSTENCILOP_INVERT didukung.
D3DSTENCILCAPS_KEEP Operasi D3DSTENCILOP_KEEP didukung.
D3DSTENCILCAPS_REPLACE Operasi D3DSTENCILOP_REPLACE didukung.
D3DSTENCILCAPS_ZERO Operasi D3DSTENCILOP_ZERO didukung.

dwFVFCaps

Menentukan jumlah koordinat tekstur yang dapat diproses oleh driver. Nilai ini bisa menjadi bilangan bulat dalam rentang 0 hingga 8, di mana 0 menunjukkan bahwa driver tidak mendukung tekstur, 1 menunjukkan bahwa driver hanya dapat memproses satu set koordinat tekstur, 2 menunjukkan bahwa driver dapat memproses dua set koordinat tekstur, dan sebagainya.

Driver harus dapat mengurai semua koordinat tekstur yang ada dalam data puncak terlepas dari jumlah koordinat tekstur yang benar-benar digunakan driver. Driver harus menggunakan indeks yang disediakan dengan nilai D3DTSS_TEXCOORDINDEX enumerasi D3DTEXTURESTAGESTATETYPE, yang dijelaskan dalam dokumentasi DirectX SDK, untuk menentukan koordinat tekstur apa yang diatur untuk digunakan saat penyajian.

dwTextureOpCaps

Menentukan operasi tekstur yang didukung oleh perangkat. Lihat D3DTEXTUREOP dalam dokumentasi DirectX SDK untuk deskripsi operasi tekstur yang tercantum dalam tabel berikut ini. Anggota ini bisa menjadi bitwise ATAU dari nilai berikut:

Nilai Operasi Tekstur Didukung
D3DTEXOPCAPS_ADD Operasi penpaduan tekstur D3DTOP_ADD didukung oleh perangkat ini.
D3DTEXOPCAPS_ADDSIGNED Operasi penpaduan tekstur D3DTOP_ADDSIGNED didukung oleh perangkat ini.
D3DTEXOPCAPS_ADDSIGNED2X Operasi penpaduan tekstur D3DTOP_ADDSIGNED2X didukung oleh perangkat ini.
D3DTEXOPCAPS_ADDSMOOTH Operasi penpaduan tekstur D3DTOP_ADDSMOOTH didukung oleh perangkat ini.
D3DTEXOPCAPS_BLENDCURRENTALPHA Operasi penpaduan tekstur D3DTOP_BLENDCURRENTALPHA didukung oleh perangkat ini.
D3DTEXOPCAPS_BLENDDIFFUSEALPHA Operasi penpaduan tekstur D3DTOP_BLENDDIFFUSEALPHA didukung oleh perangkat ini.
D3DTEXOPCAPS_BLENDFACTORALPHA Operasi penpaduan tekstur D3DTOP_BLENDFACTORALPHA didukung oleh perangkat ini.
D3DTEXOPCAPS_BLENDTEXTUREALPHA Operasi penpaduan tekstur D3DTOP_BLENDTEXTUREALPHA didukung oleh perangkat ini.
D3DTEXOPCAPS_BLENDTEXTUREALPHAPM Operasi penpaduan tekstur D3DTOP_BLENDTEXTUREALPHAPM didukung oleh perangkat ini.
D3DTEXOPCAPS_BUMPENVMAP. Operasi penpaduan tekstur D3DTOP_BUMPENVMAP didukung oleh perangkat ini.
D3DTEXOPCAPS_BUMPENVMAPLUMINANCE Operasi penpaduan tekstur D3DTOP_BUMPENVMAPLUMINANCE didukung oleh perangkat ini.
D3DTEXOPCAPS_DISABLE Operasi penpaduan tekstur D3DTOP_DISABLE didukung oleh perangkat ini.
D3DTEXOPCAPS_DOTPRODUCT3 Operasi penpaduan tekstur D3DTOP_DOTPRODUCT3 didukung oleh perangkat ini.
D3DTEXOPCAPS_MODULATE Operasi penpaduan tekstur D3DTOP_MODULATE didukung oleh perangkat ini.
D3DTEXOPCAPS_MODULATE2X Operasi penpaduan tekstur D3DTOP_MODULATE2X didukung oleh perangkat ini.
D3DTEXOPCAPS_MODULATE4X Operasi penpaduan tekstur D3DTOP_MODULATE4X didukung oleh perangkat ini.
D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR Operasi penpaduan tekstur D3DTOP_MODULATEALPHA_ADDCOLOR didukung oleh perangkat ini.
D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA Operasi penpaduan tekstur D3DTOP_MODULATEALPHA_ADDCOLOR didukung oleh perangkat ini.
D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR Operasi penpaduan tekstur D3DTOP_MODULATEINVALPHA_ADDCOLOR didukung oleh perangkat ini.
D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA Operasi penpaduan tekstur D3DTOP_MODULATEINVCOLOR_ADDALPHA didukung oleh perangkat ini.
D3DTEXOPCAPS_PREMODULATE Operasi penpaduan tekstur D3DTOP_PREMODULATE didukung oleh perangkat ini.
D3DTEXOPCAPS_SELECTARG1 Operasi penpaduan tekstur D3DTOP_SELECTARG1 didukung oleh perangkat ini.
D3DTEXOPCAPS_SELECTARG2 Operasi penpaduan tekstur D3DTOP_SELECTARG2 didukung oleh perangkat ini.
D3DTEXOPCAPS_SUBTRACT Operasi penpaduan tekstur D3DTOP_SUBTRACT didukung oleh perangkat ini.

wMaxTextureBlendStages

Menentukan jumlah maksimum tahapan perpaduan tekstur yang didukung oleh perangkat ini.

wMaxSimultaneousTextures

Menentukan jumlah maksimum tekstur yang dapat secara bersamaan terikat ke tahap penpaduan tekstur untuk perangkat ini. Artinya, wMaxSimultaneousTextures menentukan berapa banyak tahap tekstur yang dapat memiliki tekstur yang terikat padanya melalui metode lDirect3DDevice7::SetTexture . Lihat dokumentasi Microsoft Windows SDK untuk informasi selengkapnya tentang metode ini.

dwMaxActiveLights

Menentukan jumlah maksimum lampu aktif yang didukung oleh perangkat ini. Ini hanya perlu ditentukan dalam driver yang mendukung transformasi dan pencahayaan perangkat keras (dan karena itu tentukan D3DDEVCAPS_HWTRANSFORMANDLIGHT dalam batas perangkat mereka).

dvMaxVertexW

Menentukan rentang W maksimum yang didukung oleh perangkat ini. Ini hanya perlu ditentukan dalam driver yang mendukung buffering W (dan karena itu tentukan D3DPRASTERCAPS_WBUFFER dalam batas rasterisasi mereka). Unit untuk nilai kedalaman W bergantung pada aplikasi yang sedang berjalan. Misalnya, aplikasi mungkin menentukan kedalaman dalam meter.

wMaxUserClipPlanes

Menentukan jumlah maksimum sarana klip yang ditentukan pengguna yang didukung.

wMaxVertexBlendMatrices

Menentukan jumlah matriks dunia yang didukung untuk blending vertex.

dwVertexProcessingCaps

Menentukan batas pemrosesan puncak yang didukung oleh driver. Anggota ini bisa menjadi bitwise ATAU dari nilai berikut:

Nilai Makna
D3DVTXPCAPS_DIRECTIONALLIGHTS Perangkat dapat melakukan lampu arah.
D3DVTXPCAPS_LOCALVIEWER Perangkat dapat melakukan penampil lokal.
D3DVTXPCAPS_MATERIALSOURCE7 Perangkat dapat melakukan operasi sumber bahan warna DirectX 7.0.
D3DVTXPCAPS_NO_TEXGEN_NONLOCALVIEWER Perangkat tidak mendukung pembuatan tekstur dalam mode penampil nonlokal.
D3DVTXPCAPS_POSITIONALLIGHTS Perangkat dapat melakukan lampu posisi (termasuk titik dan spot).
D3DVTXPCAPS_TEXGEN Perangkat dapat melakukan texgen.
D3DVTXPCAPS_TEXGEN_SPHEREMAP Perangkat mendukung D3DTSS_TCI_SPHEREMAP.
D3DVTXPCAPS_TWEENING Perangkat dapat melakukan tweening vertex.

dwReserved1

Dicadangkan untuk penggunaan sistem.

dwReserved2

Dicadangkan untuk penggunaan sistem.

dwReserved3

Dicadangkan untuk penggunaan sistem.

dwReserved4

Dicadangkan untuk penggunaan sistem.

Keterangan

Driver mengalokasikan dan menginisialisasi nol struktur ini dan menetapkan nilai yang sesuai dalam anggota yang didukungnya. Fungsi DdGetDriverInfo driver mengembalikan penunjuk ke struktur ini ketika fungsi tersebut dipanggil dengan GUID GUID_D3DExtendedCaps.

Ketika driver mengisi struktur ini, driver dapat mengatur nilai untuk menjalankan kemampuan buffer bahkan ketika antarmuka yang digunakan untuk mengambil kemampuan (seperti lDirect3DDevice3) tidak mendukung buffer eksekusi.

Persyaratan

Persyaratan Nilai
Header d3dhal.h (termasuk D3dhal.h)

Lihat juga

DdGetDriverInfo