Tahap Perakitan Input (IA)

Tahap Input Assembler (IA) memasok data primitif dan bersebelahan ke alur, seperti segitiga, garis, dan titik, termasuk ID semantik untuk membantu membuat shader lebih efisien dengan mengurangi pemrosesan ke primitif yang belum diproses.

Tujuan dan penggunaan

Tujuan dari tahap Input Assembler (IA) adalah untuk membaca data primitif (titik, garis, dan segitiga) dari buffer yang diisi pengguna dan merakit data menjadi primitif yang akan digunakan oleh tahap alur lainnya, dan untuk melampirkan nilai yang dihasilkan sistem untuk membantu membuat shader lebih efisien. Nilai yang dihasilkan sistem adalah string teks yang juga disebut semantik. Tahap shader yang dapat diprogram dibangun dari inti shader umum, yang menggunakan nilai yang dihasilkan sistem (seperti ID primitif, ID instans, atau ID vertex), sehingga tahap shader dapat mengurangi pemrosesan hanya ke primitif, instans, atau simpul yang belum diproses.

Tahap IA dapat merakit simpul menjadi beberapa jenis primitif yang berbeda (seperti daftar garis, strip segitiga, atau primitif dengan kedekatan). Jenis primitif seperti daftar segitiga dengan kedekatan, dan daftar baris dengan kedekatan, mendukung tahap Geometry Shader (GS).

Informasi yang berdampingan terlihat oleh aplikasi hanya dalam shader geometri. Jika shader geometri dipanggil dengan segitiga termasuk bersebelahan, misalnya, data input akan berisi 3 simpul untuk setiap segitiga dan 3 simpul untuk data yang berdampingan per segitiga.

Ketika tahap IA diminta untuk menghasilkan data yang bersebelahan, data input harus menyertakan data yang bersebelahan. Ini mungkin memerlukan penyediaan vertex dummy (membentuk segitiga degenerasi), atau mungkin dengan menandai salah satu atribut vertex apakah vertex ada atau tidak. Ini juga perlu dideteksi dan ditangani oleh shader geometri, meskipun pemisahan geometri degenerasi akan terjadi pada tahap rasterizer.

Input

Tahap IA membaca data dari memori: data primitif (titik, garis, dan/atau segitiga), dari buffer yang diisi pengguna.

Output

Tahap IA merakit data menjadi primitif dan melampirkan nilai yang dihasilkan sistem, dan output yang sebagai primitif yang akan digunakan oleh tahap Vertex Shader (VS) dan kemudian tahap alur lainnya.

Di bagian ini

Topik Deskripsi

Topologi primitif

Direct3D mendukung beberapa topologi primitif, yang menentukan bagaimana simpul ditafsirkan dan dirender oleh alur, seperti daftar titik, daftar garis, dan strip segitiga.

Menggunakan nilai yang dihasilkan sistem

Nilai yang dihasilkan sistem dihasilkan oleh tahap Input Assembler (IA) (berdasarkan semantik input yang disediakan pengguna) untuk memungkinkan efisiensi tertentu dalam operasi shader. Dengan melampirkan data, seperti ID instans (terlihat oleh tahap Vertex Shader (VS), ID vertex (terlihat oleh VS), atau ID primitif (terlihat oleh tahap Geometry Shader (GS)/Pixel Shader (PS), tahap shader berikutnya dapat mencari nilai sistem ini untuk mengoptimalkan pemrosesan dalam tahap tersebut.

 

Alur grafik