Higher-Order Primitif (Direct3D 9)

Direct3D 9 mendukung titik, garis, segitiga, dan primitif kisi. Ini telah diperluas untuk mendukung interpolasi urutan yang lebih tinggi di luar linier. Sementara segitiga dan garis memiliki luas spasial, hingga saat ini keduanya dirender menggunakan interpolasi linier. Di Direct3D 9, Direct3D mendukung penyajian jenis primitif ini menggunakan urutan yang lebih tinggi, hingga kuintik, interpolasi. Selain itu, jenis primitif quad baru sekarang didukung. Jenis baru ini juga dapat dirender dengan interpolasi dengan urutan yang lebih tinggi. Fitur ini terutama didorong oleh persyaratan untuk animasi dan penyajian karakter. Ini juga dapat digunakan untuk permukaan lain seperti medan atau air.

Primitif urutan yang lebih tinggi mendukung interpolasi urutan yang lebih tinggi saat ditransmisikan ke API sebagai daftar, strip, kipas, atau jala terindeks. Ini dicapai dengan menggunakan informasi tambahan yang dikodekan dalam simpul itu sendiri. Misalnya, vektor normal dapat digunakan untuk menentukan bidang tangen di simpul untuk mengaktifkan interpolasi kubik. Sebagian besar implementasi mendukung interpolasi urutan lebih tinggi dengan tesselasi ke segitiga planar. Langkah tessellation diterapkan secara logis sebelum tahap shader vertex. Karena API shader vertex tidak memaksakan semantik pada data inputnya, mekanisme khusus disediakan untuk mengidentifikasi komponen aliran verteks yang mewakili posisi, dan secara opsional vektor normal. Semua komponen lain diinterpolasi sesuai.

Bagian ini memperkenalkan primitif urutan yang lebih tinggi dan membahas bagaimana mereka dapat digunakan dalam aplikasi Anda. Informasi dibagi menjadi topik berikut.

Peningkatan Kualitas melalui Peningkatan Resolusi

Primitif saat ini tidak ideal untuk mewakili permukaan yang halus. Metode interpolasi urutan yang lebih tinggi, seperti polinomial kubik, memungkinkan perhitungan yang lebih akurat dalam merender bentuk melengkung. Ini memberikan peningkatan realisme dengan mengurangi atau menghilangkan artefak faset yang terlihat pada tepi siluet atau pada pencahayaan permukaan spekular. Selain itu, ketika tesselulasi terjadi pada chip, segitiga tessellated tidak berdampak pada bandwidth bus. Dalam banyak kasus, sejumlah kecil tesselulasi dapat memberikan peningkatan kualitas gambar dengan dampak performa minimal.

Direct3D 9 menyediakan cara sederhana untuk menerapkan peningkatan resolusi pada konten yang dibuat oleh alat berorientasi poligon dan alur seni yang ada. Aplikasi hanya perlu menyediakan tingkat tessellation yang diinginkan, dan mengirimkan data menggunakan sintaks segitiga standar yang mencakup vektor normal.

Pemetaan Langsung dari Alat Spline-Based

Banyak alat penulisan saat ini mendukung primitif urutan yang lebih tinggi untuk memungkinkan operasi pemodelan yang lebih kuat daripada yang umumnya disediakan untuk dengan jala segitiga planar. Ketika digunakan secara efisien, sehingga jumlah patch yang dihasilkan masuk akal, alat tersebut dapat menghasilkan konten yang dapat dirender langsung oleh API. Untuk memenuhi persyaratan ini, titik masuk baru telah ditambahkan yang menginterpretasikan aliran data verteks masuk sebagai array 2D titik kontrol dan tessellates ke resolusi yang diinginkan.

Alur Vertex