Tahap rasterizer (RS)

Rasterizer mengklip primitif yang tidak terlihat, menyiapkan primitif untuk tahap Pixel Shader (PS), dan menentukan cara memanggil pemecah piksel. Tahap rasterisasi mengonversi informasi vektor (terdiri dari bentuk atau primitif) menjadi gambar raster (terdiri dari piksel) untuk tujuan menampilkan grafik 3D real-time.

Tujuan dan penggunaan

Selama rasterisasi, setiap primitif dikonversi menjadi piksel, sambil menginterpolasi nilai per vertex di setiap primitif. Rasterisasi mencakup kliping simpul ke frustum tampilan, melakukan pembagian dengan z untuk memberikan perspektif, memetakan primitif ke viewport 2D, dan menentukan cara memanggil shader piksel. Saat menggunakan shader piksel bersifat opsional, tahap rasterizer selalu melakukan kliping, perspektif membagi untuk mengubah titik menjadi ruang homogen, dan memetakan simpul ke viewport.

Anda dapat menonaktifkan rasterisasi dengan memberi tahu alur tidak ada shader piksel (atur tahap Pixel Shader (PS) ke NULL dan nonaktifkan pengujian kedalaman dan stensil). Saat dinonaktifkan, penghitung alur terkait rasterisasi tidak akan diperbarui.

Pada perangkat keras yang menerapkan pengoptimalan Z-buffer hierarkis, Anda dapat mengaktifkan pramuat z-buffer dengan mengatur tahap Pixel Shader (PS) ke NULL sambil mengaktifkan pengujian kedalaman dan stensil.

Lihat Aturan rasterisasi.

Input

Puncak (x,y,z,w), masuk ke tahap Rasterizer diasumsikan berada di ruang klip homogen. Dalam ruang koordinat ini sumbu X menunjuk ke kanan, Y menunjuk ke atas dan titik Z menjauhi kamera.

Tahap Rasterizer (RS) fungsi tetap diberi makan oleh tahap Output Aliran (SO) dan/atau oleh tahap alur sebelumnya, seperti tahap Geometry Shader (GS). Jika GS tidak digunakan, RS disalurkan oleh tahap Domain Shader (DS). Jika DS juga tidak digunakan, RS disalurkan oleh tahap Vertex Shader (VS).

Output

Menggunakan tahap Pixel Shader (PS) bersifat opsional; tahap rasterizer dapat menghasilkan langsung ke tahap Output Merger (OM).

Aturan rasterisasi

Alur grafik