Alur grafik

Alur Direct3D 11 yang dapat diprogram dirancang untuk menghasilkan grafik untuk aplikasi game realtime. Bagian ini menjelaskan alur Direct3D 11 yang dapat diprogram. Diagram berikut menunjukkan aliran data dari input ke output melalui setiap tahap yang dapat diprogram.

diagram aliran data dalam alur direct3d 11 yang dapat diprogram

Alur grafis untuk Microsoft Direct3D 11 mendukung tahap yang sama dengan alur grafis Direct3D 10, dengan tahap tambahan untuk mendukung fitur tingkat lanjut.

Anda dapat menggunakan Direct3D 11API untuk mengonfigurasi semua tahapan. Tahapan yang menampilkan inti shader umum (blok persegi panjang bulat) dapat diprogram dengan menggunakan bahasa pemrograman HLSL . Seperti yang Akan Anda lihat, ini membuat alur sangat fleksibel dan dapat beradaptasi.

Di bagian ini

Topik Deskripsi
Tahap perakitan input
Direct3D 10 dan API yang lebih tinggi memisahkan area fungsi dari alur menjadi beberapa tahap; tahap pertama dalam alur adalah tahap input-assembler (IA).
Tahap shader vertex
Tahap vertex-shader (VS) memproses simpul dari perakitan input, melakukan operasi per vertex seperti transformasi, penguliran, morfing, dan pencahayaan per vertex. Shader vertex selalu beroperasi pada verteks input tunggal dan menghasilkan satu verteks output. Tahap shader vertex harus selalu aktif agar alur dapat dijalankan. Jika tidak ada modifikasi atau transformasi vertex yang diperlukan, shader vertex pass-through harus dibuat dan diatur ke alur.
Tahapan Tessellation
Runtime Direct3D 11 mendukung tiga tahap baru yang mengimplementasikan tessellation, yang mengonversi permukaan subdivisi detail rendah menjadi primitif detail yang lebih tinggi pada GPU. Ubin tessellation (atau memecah) permukaan pesanan tinggi menjadi struktur yang sesuai untuk penyajian.
Tahap shader geometri
Tahap geometry-shader (GS) menjalankan kode shader yang ditentukan aplikasi dengan simpul sebagai input dan kemampuan untuk menghasilkan simpul pada output.
Tahap stream-output
Tujuan dari tahap stream-output adalah untuk terus menghasilkan (atau mengalirkan) data vertex dari tahap geometry-shader (atau tahap vertex-shader jika tahap geometry-shader tidak aktif) ke satu atau beberapa buffer dalam memori (lihat Memulai dengan tahap stream-output).
Tahap rasterizer
Tahap rasterisasi mengonversi informasi vektor (terdiri dari bentuk atau primitif) menjadi gambar raster (terdiri dari piksel) untuk tujuan menampilkan grafik 3D real-time.
Tahap shader piksel
Tahap pixel-shader (PS) memungkinkan teknik bayangan yang kaya seperti pencahayaan per piksel dan pasca-pemrosesan. Shader piksel adalah program yang menggabungkan variabel konstan, data tekstur, nilai per vertex terinterpolasi, dan data lainnya untuk menghasilkan output per piksel. Tahap rasterizer memanggil shader piksel sekali untuk setiap piksel yang dicakup oleh primitif, namun, dimungkinkan untuk menentukan shader NULL untuk menghindari menjalankan shader.
Tahap output-merger
Tahap output-merger (OM) menghasilkan warna piksel yang dirender akhir menggunakan kombinasi status alur, data piksel yang dihasilkan oleh shader piksel, konten target render, dan konten buffer kedalaman/stensil. Tahap OM adalah langkah terakhir untuk menentukan piksel mana yang terlihat (dengan pengujian stensil kedalaman) dan memadukan warna piksel akhir.