struktur D3D10_DDI_RASTERIZER_DESC (d3d10umddi.h)
Struktur D3D10_DDI_RASTERIZER_DESC menggambarkan status rasterizer.
Sintaks
typedef struct D3D10_DDI_RASTERIZER_DESC {
[in] D3D10_DDI_FILL_MODE FillMode;
[in] D3D10_DDI_CULL_MODE CullMode;
[in] BOOL FrontCounterClockwise;
[in] INT32 DepthBias;
[in] FLOAT DepthBiasClamp;
[in] FLOAT SlopeScaledDepthBias;
[in] BOOL DepthClipEnable;
[in] BOOL ScissorEnable;
[in] BOOL MultisampleEnable;
[in] BOOL AntialiasedLineEnable;
} D3D10_DDI_RASTERIZER_DESC;
Anggota
[in] FillMode
Nilai yang menentukan mode isian untuk primitif. Anggota ini harus diatur ke salah satu nilai berikut dari enumerasi D3D10_DDI_FILL_MODE.
Nilai | Makna |
---|---|
D3D10_DDI_FILL_WIREFRAME (2) | Mengisi wireframe. |
D3D10_DDI_FILL_SOLID (3) | Isi padat. |
[in] CullMode
Nilai yang menentukan bagaimana segitiga yang menghadap ke belakang dimusnahkan, jika sama sekali. Anggota ini harus diatur ke salah satu nilai berikut dari enumerasi D3D10_DDI_CULL_MODE.
Nilai | Makna |
---|---|
D3D10_DDI_CULL_NONE (1) | Jangan membongkar segitiga. |
D3D10_DDI_CULL_FRONT (2) | Cull wajah depan. |
D3D10_DDI_CULL_BACK (3) | Cull kembali wajah. |
[in] FrontCounterClockwise
Nilai Boolean yang menentukan apakah simpul yang disediakan dalam urutan berlawanan jarum jam (sehubungan dengan rasterizer) menghadap ke depan. TRUE menunjukkan bahwa mereka adalah; FALSE menunjukkan bahwa simpul berlawanan jarang menunjukkan kembali menghadap.
[in] DepthBias
Konstanta bias kedalaman untuk digunakan dalam rumus bias. Untuk informasi selengkapnya tentang DepthBias, lihat bagian Keterangan berikut ini.
[in] DepthBiasClamp
Vektor float presisi tunggal yang digunakan dalam rumus bias. Untuk informasi selengkapnya tentang DepthBiasClamp, lihat bagian Keterangan berikut ini.
[in] SlopeScaledDepthBias
Vektor float presisi tunggal yang digunakan dalam rumus bias. Untuk informasi selengkapnya tentang SlopeScaledDepthBias, lihat bagian Keterangan berikut ini.
[in] DepthClipEnable
Nilai Boolean yang menentukan apakah driver harus mengklip koordinat vertex z terhadap rentang kedalaman viewport. TRUE menunjukkan ke klip; FALSE menunjukkan untuk tidak mengklip.
[in] ScissorEnable
Nilai Boolean yang menentukan apakah driver harus membuang piksel yang berada di luar area persegi panjang gunting yang sesuai. TRUE menunjukkan untuk membuang; FALSE menunjukkan untuk tidak membuang.
[in] MultisampleEnable
Nilai Boolean yang menentukan apakah driver harus mengikuti aturan rasterisasi beberapa sampel. TRUE menunjukkan untuk mengikuti aturan; FALSE menunjukkan bahwa mengikuti aturan tidak diperlukan. Aturan rasterisasi beberapa sampel berlaku meskipun target render hanya berisi satu sampel.
[in] AntialiasedLineEnable
Nilai Boolean yang menentukan apakah driver harus merender baris yang mengikuti aturan rasterisasi garis yang diantisipasi. TRUE menunjukkan untuk mengikuti aturan; FALSE menunjukkan bahwa mengikuti aturan tidak diperlukan. Driver mengabaikan nilai dalam AntialiasedLineEnable jika aturan rasterisasi multiple-sampling digunakan sebagai gantinya.
Keterangan
Salah satu artefak dengan bayangan berbasis buffer bayangan adalah "jerawat bayangan" (yaitu, permukaan yang membayangi dirinya sendiri dengan cara terputus-putus karena ketimpangan dalam menghitung kedalaman permukaan dari shader yang dibandingkan dengan kedalaman permukaan yang sama di buffer bayangan). Salah satu cara untuk meringankan jerawat bayangan adalah dengan menggunakan anggota DepthBias dan SlopeScaledDepthBias saat Anda merender buffer bayangan. Tujuannya adalah untuk mendorong permukaan cukup keluar saat merender buffer bayangan. Ketika permukaan tersebut dibandingkan dengan diri mereka sendiri melalui z yang dihitung shader selama uji bayangan, hasil perbandingan konsisten di seluruh permukaan, dan bayangan lokal-diri dihindari.
Namun, menggunakan DepthBias dan SlopeScaledDepthBias saja dapat memperkenalkan beberapa artefak. Misalnya, poligon yang sangat curam menyebabkan persamaan bias meledak, yang mendorong poligon sangat jauh dari permukaan asal di peta bayangan. Pertimbangkan wajah curam, sehubungan dengan cahaya, yang didorong sangat jauh dalam kaitannya dengan dimensi objek induk dengan bias kedalaman. Misalkan wajah ini dikelilingi oleh wajah dangkal yang mendorong persamaan bias jauh lebih sedikit. Peta bayangan yang dihasilkan memiliki penghentian besar yang dapat menyebabkan lubang dalam bayangan yang dilemparkan oleh satu permukaan ke permukaan lain lebih dekat dari wajah yang meledak. Salah satu cara untuk membantu meringankan masalah khusus ini adalah dengan menggunakan anggota DepthBiasClamp , yang menyediakan batas atas yang dapat diatur aplikasi (positif atau negatif) pada besarnya bias z.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tersedia di Windows Vista dan versi yang lebih baru dari sistem operasi Windows. |
Header | d3d10umddi.h (termasuk D3d10umddi.h) |