Bagikan melalui


struktur D3D11_RASTERIZER_DESC (d3d11.h)

Menjelaskan status rasterizer.

Sintaks

typedef struct D3D11_RASTERIZER_DESC {
  D3D11_FILL_MODE FillMode;
  D3D11_CULL_MODE CullMode;
  BOOL            FrontCounterClockwise;
  INT             DepthBias;
  FLOAT           DepthBiasClamp;
  FLOAT           SlopeScaledDepthBias;
  BOOL            DepthClipEnable;
  BOOL            ScissorEnable;
  BOOL            MultisampleEnable;
  BOOL            AntialiasedLineEnable;
} D3D11_RASTERIZER_DESC;

Anggota

FillMode

Jenis: D3D11_FILL_MODE

Menentukan mode isian yang akan digunakan saat penyajian (lihat D3D11_FILL_MODE).

CullMode

Jenis: D3D11_CULL_MODE

Menunjukkan segitiga yang menghadap ke arah yang ditentukan tidak digambar (lihat D3D11_CULL_MODE).

FrontCounterClockwise

Jenis: BOOL

Menentukan apakah segitiga menghadap ke depan atau belakang. Jika parameter ini TRUE, segitiga akan dianggap menghadap ke depan jika simpulnya berlawanan searah jarum jam pada target render dan dianggap menghadap ke belakang jika berlawanan jarum jam. Jika parameter ini FALSE, sebaliknya adalah true.

DepthBias

Jenis: INT

Nilai kedalaman ditambahkan ke piksel tertentu. Untuk informasi tentang bias kedalaman, lihat Bias Kedalaman.

DepthBiasClamp

Jenis: FLOAT

Bias kedalaman maksimum piksel. Untuk informasi tentang bias kedalaman, lihat Bias Kedalaman.

SlopeScaledDepthBias

Jenis: FLOAT

Skalar pada kelereng piksel tertentu. Untuk informasi tentang bias kedalaman, lihat Bias Kedalaman.

DepthClipEnable

Jenis: BOOL

Aktifkan kliping berdasarkan jarak.

Perangkat keras selalu melakukan kliping x dan y dari koordinat yang diraster. Ketika DepthClipEnable diatur ke default-TRUE, perangkat keras juga mengklip nilai z (yaitu, perangkat keras melakukan langkah terakhir dari algoritma berikut).


0 < w
-w <= x <= w (or arbitrarily wider range if implementation uses a guard band to reduce clipping burden)
-w <= y <= w (or arbitrarily wider range if implementation uses a guard band to reduce clipping burden)
0 <= z <= w

Saat Anda mengatur DepthClipEnable ke FALSE, perangkat keras melompati kliping z (yaitu, langkah terakhir dalam algoritma sebelumnya). Namun, perangkat keras masih melakukan kliping "0 < w". Saat kliping z dinonaktifkan, pengurutan kedalaman yang tidak tepat pada tingkat piksel dapat dihasilkan. Namun, ketika kliping z dinonaktifkan, implementasi bayangan stensil disederhanakan. Dengan kata lain, Anda dapat menghindari penanganan kasus khusus yang kompleks untuk geometri yang melampaui bidang kliping belakang.

ScissorEnable

Jenis: BOOL

Aktifkan culling scissor-rectangle. Semua piksel di luar persegi panjang gunting aktif dimusnahkan.

MultisampleEnable

Jenis: BOOL

Menentukan apakah akan menggunakan algoritma anti-aliasing garis quadrilateral atau alfa pada target render antialiasing multisample (MSAA). Atur ke TRUE untuk menggunakan algoritma anti-aliasing baris quadrilateral dan ke FALSE untuk menggunakan algoritma anti-aliasing baris alfa. Untuk informasi selengkapnya tentang anggota ini, lihat Keterangan.

AntialiasedLineEnable

Jenis: BOOL

Menentukan apakah akan mengaktifkan antialias baris; hanya berlaku jika melakukan gambar garis dan MultisampleEnable adalah FALSE. Untuk informasi selengkapnya tentang anggota ini, lihat Keterangan.

Keterangan

Status rasterizer mendefinisikan perilaku tahap rasterizer. Untuk membuat objek rasterizer-state, panggil ID3D11Device::CreateRasterizerState. Untuk mengatur status rasterizer, panggil ID3D11DeviceContext::RSSetState.

Jika Anda tidak menentukan beberapa status rasterizer, runtime Direct3D menggunakan nilai default berikut untuk status rasterizer.

Provinsi Nilai Default
FillMode Solid
CullMode Kembali
FrontCounterClockwise FALSE
DepthBias 0
SlopeScaledDepthBias 0.0f
DepthBiasClamp 0.0f
DepthClipEnable TRUE
ScissorEnable FALSE
MultisampleEnable FALSE
AntialiasedLineEnable FALSE
 
Catatan Untuk tingkat fitur 9.1, 9.2, 9.3, dan 10.0, jika Anda mengatur MultisampleEnable ke FALSE, runtime merender semua titik, garis, dan segitiga tanpa anti-alias bahkan untuk target render dengan jumlah sampel lebih besar dari 1. Untuk tingkat fitur 10.1 dan yang lebih tinggi, pengaturan MultisampleEnable tidak berpengaruh pada titik dan segitiga sehubungan dengan MSAA dan hanya berdampak pada pemilihan algoritma penyajian baris seperti yang ditunjukkan dalam tabel ini:
 
Algoritma penyajian baris MultisampleEnable AntialiasedLineEnable
Alias FALSE FALSE
Alpha diantisipasi FALSE TRUE
Segiempat TRUE FALSE
Segiempat TRUE TRUE
 

Pengaturan anggota MultisampleEnable dan AntialiasedLineEnable hanya berlaku untuk target render multisample antialiasing (MSAA) (yaitu, merender target dengan jumlah sampel lebih besar dari 1). Karena perbedaan perilaku tingkat fitur dan selama Anda tidak melakukan gambar garis apa pun atau tidak keberatan bahwa garis dirender sebagai quadrilaterals, kami sarankan Anda selalu mengatur MultisampleEnable ke TRUE setiap kali Anda merender pada target render MSAA.

Persyaratan

Persyaratan Nilai
Header d3d11.h

Lihat juga

Struktur Inti