Bagikan melalui


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.

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, 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

   
Header d3d10.h

Lihat juga

Struktur Inti