Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Blok status hanya dapat digunakan untuk mengambil status piksel (lihat Status Simpan dan Pulihkan Blok Status (Direct3D 9)). Status berikut adalah status piksel:
- Status render piksel (lihat Alur Piksel: Status Render).
- Status tekstur piksel (lihat Alur Piksel: Status Tekstur).
- Status sampler piksel (lihat Alur Piksel: Status Sampler).
- Shader piksel saat ini dan masing-masing konstanta shader piksel.
Untuk mengambil status piksel dengan blok status, tentukan D3DSBT_PIXELSTATE saat memanggil IDirect3DDevice9::CreateStateBlock.
Alur Piksel: Status Render
Status render perangkat memengaruhi perilaku hampir setiap bagian dari alur. Status render diatur dengan memanggil IDirect3DDevice9::SetRenderState.
Tabel berikut ini menyertakan semua status render yang menyiapkan status piksel:
| Status Render | Nilai Default |
|---|---|
| D3DRS_ZENABLE | D3DZB_FALSE |
| D3DRS_SPECULARENABLE | FALSE |
| D3DFILLMODE | D3DFILL_SOLID |
| D3DSHADEMODE | D3DSHADE_GOURAUD |
| D3DRS_ZWRITEENABLE | TRUE |
| D3DRS_ALPHATESTENABLE | FALSE |
| D3DRS_LASTPIXEL | TRUE |
| D3DRS_SRCBLEND | D3DBLEND_ONE |
| D3DRS_DESTBLEND | D3DBLEND_ZERO |
| D3DRS_ZFUNC | D3DCMP_LESSEQUAL |
| D3DRS_ALPHAREF | 0 |
| D3DRS_ALPHAFUNC | D3DCMP_ALWAYS |
| D3DRS_DITHERENABLE | FALSE |
| D3DRS_FOGSTART | 0 |
| D3DRS_FOGEND | 1 |
| D3DRS_FOGDENSITY | 1 |
| D3DRS_ALPHABLENDENABLE | FALSE |
| D3DRS_DEPTHBIAS | 0 |
| D3DRS_STENCILENABLE | FALSE |
| D3DRS_STENCILFAIL | D3DSTENCILOP_KEEP |
| D3DRS_STENCILZFAIL | D3DSTENCILOP_KEEP |
| D3DRS_STENCILPASS | D3DSTENCILOP_KEEP |
| D3DRS_STENCILFUNC | D3DCMP_ALWAYS |
| D3DRS_STENCILREF | 0 |
| D3DRS_STENCILMASK | 0xffffffff |
| D3DRS_STENCILWRITEMASK | 0xffffffff |
| D3DRS_TEXTUREFACTOR | 0xffffffff |
| D3DRS_WRAP0 | 0 |
| D3DRS_WRAP1 | 0 |
| D3DRS_WRAP2 | 0 |
| D3DRS_WRAP3 | 0 |
| D3DRS_WRAP4 | 0 |
| D3DRS_WRAP5 | 0 |
| D3DRS_WRAP6 | 0 |
| D3DRS_WRAP7 | 0 |
| D3DRS_WRAP8 | 0 |
| D3DRS_WRAP9 | 0 |
| D3DRS_WRAP10 | 0 |
| D3DRS_WRAP11 | 0 |
| D3DRS_WRAP12 | 0 |
| D3DRS_WRAP13 | 0 |
| D3DRS_WRAP14 | 0 |
| D3DRS_WRAP15 | 0 |
| D3DRS_LOCALVIEWER | TRUE |
| D3DRS_EMISSIVEMATERIALSOURCE | D3DMCS_MATERIAL |
| D3DRS_AMBIENTMATERIALSOURCE | D3DMCS_MATERIAL |
| D3DRS_DIFFUSEMATERIALSOURCE | D3DMCS_COLOR1 |
| D3DRS_SPECULARMATERIALSOURCE | D3DMCS_COLOR2 |
| D3DRS_COLORWRITEENABLE | 0x0000000f |
| D3DBLENDOP | D3DBLENDOP_ADD |
| D3DRS_SCISSORTESTENABLE | FALSE |
| D3DRS_SLOPESCALEDEPTHBIAS | 0 |
| D3DRS_ANTIALIASEDLINEENABLE | FALSE |
| D3DRS_TWOSIDEDSTENCILMODE | FALSE |
| D3DRS_CCW_STENCILFAIL | D3DSTENCILOP_KEEP |
| D3DRS_CCW_STENCILZFAIL | D3DSTENCILOP_KEEP |
| D3DRS_CCW_STENCILPASS | D3DSTENCILOP_KEEP |
| D3DRS_CCW_STENCILFUNC | D3DCMP_ALWAYS |
| D3DRS_COLORWRITEENABLE1 | 0x0000000f |
| D3DRS_COLORWRITEENABLE2 | 0x0000000f |
| D3DRS_COLORWRITEENABLE3 | 0x0000000f |
| D3DRS_BLENDFACTOR | 0xffffffff |
| D3DRS_SRGBWRITEENABLE | 0 |
| D3DRS_SEPARATEALPHABLENDENABLE | FALSE |
| D3DRS_SRCBLENDALPHA | D3DBLEND_ONE |
| D3DRS_DESTBLENDALPHA | D3DBLEND_ZERO |
| D3DRS_BLENDOPALPHA | D3DBLENDOP_ADD |
Alur Piksel: Status Sampler
Status sampler mengontrol pengambilan sampel topik terkait seperti pemfilteran, pemetaan, dan mode alamat koordinat tekstur. Gunakan IDirect3DDevice9::SetSamplerState untuk menyiapkan status sampler (termasuk yang digunakan di unit tessellator untuk mengambil sampel peta perpindahan). Status sampler telah diganti namanya dengan awalan "D3DSAMP_" untuk mengaktifkan deteksi kesalahan waktu kompilasi saat porting dari DirectX 8.
Tabel berikut ini menyertakan semua status sampler yang menyiapkan status piksel:
| Status Sampler | Nilai Default |
|---|---|
| D3DSAMP_ADDRESSU | D3DTADDRESS_WRAP |
| D3DSAMP_ADDRESSV | D3DTADDRESS_WRAP |
| D3DSAMP_ADDRESSW | D3DTADDRESS_WRAP |
| D3DSAMP_BORDERCOLOR | 0x00000000 |
| D3DSAMP_MAGFILTER | D3DTEXF_POINT |
| D3DSAMP_MINFILTER | D3DTEXF_POINT |
| D3DSAMP_MIPFILTER | D3DTEXF_NONE |
| D3DSAMP_MIPMAPLODBIAS | 0 |
| D3DSAMP_MAXMIPLEVEL | 0 |
| D3DSAMP_MAXANISOTROPY | 1 |
| D3DSAMP_SRGBTEXTURE | 0 |
| D3DSAMP_ELEMENTINDEX | 0 |
Alur Piksel: Status Tekstur
Status tekstur mengontrol operasi perpaduan tekstur dari blender multi-tekstur. Gunakan IDirect3DDevice9::SetTextureStageState untuk menyiapkan status tahap tekstur. Gunakan IDirect3DDevice9::SetTexture untuk mengaitkan tekstur dengan tahap sampler.
Tabel berikut ini menyertakan semua status tekstur yang menyiapkan status piksel:
| Status Tekstur | Nilai Default |
|---|---|
| D3DTSS_COLOROP | D3DTOP_DISABLE |
| D3DTSS_COLORARG1 | D3DTA_TEXTURE |
| D3DTSS_COLORARG2 | D3DTA_CURRENT |
| D3DTSS_ALPHAOP | D3DTOP_DISABLE |
| D3DTSS_ALPHAARG1 | D3DTA_TEXTURE |
| D3DTSS_ALPHAARG2 | D3DTA_CURRENT |
| D3DTSS_BUMPENVMAT00 | 0 |
| D3DTSS_BUMPENVMAT01 | 0 |
| D3DTSS_BUMPENVMAT10 | 0 |
| D3DTSS_BUMPENVMAT11 | 0 |
| D3DTSS_TEXCOORDINDEX | 0 |
| D3DTSS_BUMPENVLSCALE | 0 |
| D3DTSS_BUMPENVLOFFSET | 0 |
| D3DTSS_TEXTURETRANSFORMFLAGS | D3DTTFF_DISABLE |
| D3DTSS_COLORARG0 | D3DTA_CURRENT |
| D3DTSS_ALPHAARG0 | D3DTA_CURRENT |
| D3DTSS_RESULTARG | D3DTA_CURRENT |
Topik terkait