Bagikan melalui


struktur D3D11_1_DDI_RASTERIZER_DESC (d3d10umddi.h)

Menjelaskan status rasterizer. Digunakan oleh Windows Display Driver Model (WDDM) 1.2 dan driver tampilan mode pengguna yang lebih baru.

Sintaks

typedef struct D3D11_1_DDI_RASTERIZER_DESC {
  [in] D3D10_DDI_FILL_MODE FillMode;
  [in] D3D10_DDI_CULL_MODE CullMode;
  [in] BOOL                FrontCounterClockwise;
  [in] INT                 DepthBias;
  [in] FLOAT               DepthBiasClamp;
  [in] FLOAT               SlopeScaledDepthBias;
  [in] BOOL                DepthClipEnable;
  [in] BOOL                ScissorEnable;
  [in] BOOL                MultisampleEnable;
  [in] BOOL                AntialiasedLineEnable;
  [in] UINT                ForcedSampleCount;
} D3D11_1_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.

[in] DepthBiasClamp

Vektor float presisi tunggal yang digunakan dalam rumus bias. Untuk informasi selengkapnya tentang DepthBiasClamp, lihat bagian Keterangan.

[in] SlopeScaledDepthBias

Vektor float presisi tunggal yang digunakan dalam rumus bias. Untuk informasi selengkapnya tentang SlopeScaledDepthBias, lihat bagian Keterangan.

[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.

[in] ForcedSampleCount

Selama penyajian tampilan akses tidak berurut (UAV) atau tampilan target penyajian (RTV), menentukan apakah akan memaksa jumlah sampel, dan jika demikian, jumlah sampel maksimum. Nilai yang valid adalah 0, 1, 4, 8, dan 16.

Jika nol, driver tidak boleh memaksa jumlah sampel.

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 Windows 8
Server minimum yang didukung Windows Server 2012
Header d3d10umddi.h (termasuk D3d10umddi.h)