struktur CD3D11_RASTERIZER_DESC1 (d3d11_1.h)

Catatan Struktur ini didukung oleh runtime Direct3D 11.1, yang tersedia di Windows 8 dan sistem operasi yang lebih baru.
 
Menjelaskan status rasterizer.

Sintaks

struct CD3D11_RASTERIZER_DESC1 : D3D11_RASTERIZER_DESC1 {
  void CD3D11_RASTERIZER_DESC1();
  void CD3D11_RASTERIZER_DESC1(
    const D3D11_RASTERIZER_DESC1 & o
  );
  void CD3D11_RASTERIZER_DESC1(
    CD3D11_DEFAULT unnamedParam1
  );
  void CD3D11_RASTERIZER_DESC1(
    D3D11_FILL_MODE fillMode,
    D3D11_CULL_MODE cullMode,
    BOOL            frontCounterClockwise,
    INT             depthBias,
    FLOAT           depthBiasClamp,
    FLOAT           slopeScaledDepthBias,
    BOOL            depthClipEnable,
    BOOL            scissorEnable,
    BOOL            multisampleEnable,
    BOOL            antialiasedLineEnable,
    UINT            forcedSampleCount
  );
  void ~CD3D11_RASTERIZER_DESC1();
};

Warisan

Struktur CD3D11_RASTERIZER_DESC1 mengimplementasikan D3D11_RASTERIZER_DESC1.

Anggota

void CD3D11_RASTERIZER_DESC1()

void CD3D11_RASTERIZER_DESC1( const D3D11_RASTERIZER_DESC1 & o)

void CD3D11_RASTERIZER_DESC1( CD3D11_DEFAULT unnamedParam1)

void CD3D11_RASTERIZER_DESC1( D3D11_FILL_MODE fillMode, D3D11_CULL_MODE cullMode, BOOL frontCounterClockwise, INT depthBias, FLOAT depthBiasClamp, FLOAT slopeScaledDepthBias, BOOL depthClipEnable, BOOL scissorEnable, BOOL multisampleEnable, BOOL antialiasedLineEnable, UINT forcedSampleCount)

void ~CD3D11_RASTERIZER_DESC1()

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

CullMode

Jenis: D3D11_CULL_MODE

Menunjukkan bahwa segitiga yang menghadap ke arah yang ditentukan tidak digambar.

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.

DepthClipEnable

Jenis: BOOL

Menentukan apakah akan mengaktifkan kliping berdasarkan jarak.

Perangkat keras selalu melakukan kliping x dan y dari koordinat yang dirasterisasi. 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 mengakibatkan. 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.

FillMode

Jenis: D3D11_FILL_MODE

Menentukan mode isian yang akan digunakan saat penyajian.

ForcedSampleCount

Jenis: UINT

Jumlah sampel yang dipaksa saat UAV merender atau melakukan rasterisasi. Nilai yang valid adalah 0, 1, 2, 4, 8, dan opsional 16. 0 menunjukkan bahwa jumlah sampel tidak dipaksakan.

Catatan Jika Anda ingin merender dengan ForcedSampleCount yang diatur ke 1 atau lebih tinggi, Anda harus mengikuti panduan berikut:
  • Jangan mengikat tampilan stensil kedalaman.
  • Nonaktifkan pengujian kedalaman.
  • Pastikan shader tidak menghasilkan kedalaman output.
  • Jika Anda memiliki batas tampilan target render (D3D11_BIND_RENDER_TARGET) dan ForcedSampleCount lebih besar dari 1, pastikan bahwa setiap target render hanya memiliki satu sampel.
  • Jangan mengoperasikan shader pada frekuensi sampel. Oleh karena itu, ID3D11ShaderReflection::IsSampleFrequencyShader mengembalikan FALSE.
Jika tidak, perilaku penyajian tidak ditentukan. Untuk informasi tentang cara mengonfigurasi stensil kedalaman, lihat Mengonfigurasi fungsionalitas Depth-Stencil.
 

FrontCounterClockwise

Jenis: BOOL

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

MultisampleEnable

Jenis: BOOL

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

ScissorEnable

Jenis: BOOL

Menentukan apakah akan mengaktifkan culling scissor-rectangle. Semua piksel di luar persegi panjang gunting aktif dimusnahkan.

SlopeScaledDepthBias

Jenis: FLOAT

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

Status rasterizer mendefinisikan perilaku tahap rasterizer. Untuk membuat objek rasterizer-state, panggil ID3D11Device1::CreateRasterizerState1. 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
ForcedSampleCount 0
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 yang 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 memengaruhi 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
Klien minimum yang didukung Windows 8 dan Pembaruan Platform untuk Windows 7 [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows Server 2012 dan Pembaruan Platform untuk Windows Server 2008 R2 [aplikasi desktop | Aplikasi UWP]
Header d3d11_1.h

Lihat juga

Struktur Inti