struktur D3D10_RASTERIZER_DESC (d3d10.h)
Menjelaskan status rasterizer.
Sintaks
typedef struct D3D10_RASTERIZER_DESC {
D3D10_FILL_MODE FillMode;
D3D10_CULL_MODE CullMode;
BOOL FrontCounterClockwise;
INT DepthBias;
FLOAT DepthBiasClamp;
FLOAT SlopeScaledDepthBias;
BOOL DepthClipEnable;
BOOL ScissorEnable;
BOOL MultisampleEnable;
BOOL AntialiasedLineEnable;
} D3D10_RASTERIZER_DESC;
Anggota
FillMode
Jenis: D3D10_FILL_MODE
Anggota D3D10_FILL_MODE jenis enumerasi yang menentukan mode isian yang akan digunakan saat penyajian. Nilai defaultnya adalah D3D10_FILL_SOLID.
CullMode
Jenis: D3D10_CULL_MODE
Anggota D3D10_CULL_MODE jenis enumerasi yang menunjukkan apakah segitiga yang menghadap arah yang ditentukan digambar. Nilai defaultnya adalah D3D10_CULL_BACK.
FrontCounterClockwise
Jenis: BOOL
Menentukan apakah segitiga menghadap ke depan atau menghadap ke belakang. Jika parameter ini TRUE, segitiga 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, maka sebaliknya adalah true. Nilai defaultnya adalah FALSE.
DepthBias
Jenis: INT
Menentukan nilai kedalaman yang ditambahkan ke piksel tertentu. Nilai default adalah 0. Untuk informasi tentang bias kedalaman, lihat Bias Kedalaman.
DepthBiasClamp
Jenis: FLOAT
Menentukan bias kedalaman maksimum piksel. Nilai defaultnya adalah 0,0f. Untuk informasi tentang bias kedalaman, lihat Bias Kedalaman.
SlopeScaledDepthBias
Jenis: FLOAT
Menentukan skalar pada kelopak piksel tertentu. Nilai defaultnya adalah 0,0f. Untuk informasi tentang bias kedalaman, lihat Bias Kedalaman.
DepthClipEnable
Jenis: BOOL
Mengaktifkan atau menonaktifkan kliping berdasarkan jarak. Nilai defaultnya adalah TRUE.
Perangkat keras selalu melakukan kliping x dan y dari koordinat yang diraster. Ketika DepthClipEnable diatur ke nilai default, 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
Mengaktifkan atau menonaktifkan culling scissor-rectangle. Semua piksel di luar persegi panjang gunting aktif dimusnahkan. Nilai defaultnya adalah FALSE. Untuk informasi selengkapnya, lihat Mengatur Persegi Panjang Gunting.
MultisampleEnable
Jenis: BOOL
Menentukan apakah akan menggunakan algoritma anti-aliasing garis quadrilateral atau alfa pada target render antialiasing multisample (MSAA). Nilai defaultnya adalah FALSE. 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 ketika pencambahan alfa diaktifkan, Anda menggambar garis, dan anggota MultisampleEnable adalah FALSE. Nilai defaultnya adalah FALSE. Untuk informasi selengkapnya tentang anggota ini, lihat Keterangan.
Keterangan
Status rasterizer mendefinisikan perilaku tahap rasterizer. Untuk membuat objek rasterizer-state, panggil ID3D10Device::CreateRasterizerState. Untuk mengatur status rasterizer, panggil ID3D10Device::RSSetState.
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
Header | d3d10.h |