Blending Vertex Terindeks (Direct3D 9)

Blending vertex terindeks memperluas dukungan blending vertex di Direct3D untuk memungkinkan matriks digunakan untuk pencamuran. Matriks ini disebut dengan menggunakan indeks matriks. Indeks ini disediakan per puncak dan mengacu pada palet hingga 256 matriks. Setiap indeks adalah 8 bit dan setiap vertex dapat memiliki hingga empat indeks, yang memungkinkan empat matriks dicambuk per puncak. Indeks dikemas ke dalam DWORD. Karena indeks ditentukan per puncak, hingga 12 matriks dapat memengaruhi satu segitiga, dan matriks apa pun di palet dapat memengaruhi simpul satu panggilan gambar. Pendekatan ini memiliki keuntungan berikut.

  • Ini memungkinkan lebih banyak matriks untuk memengaruhi satu segitiga.
  • Ini memungkinkan segitiga yang lebih campuran untuk diteruskan dalam panggilan gambar yang sama.
  • Ini membuat verteks memadukan independen dari indeks segitiga. Ini memungkinkan jala progresif untuk bekerja bersama dengan penpaduan vertex.

Salah satu kerugian dari pendekatan ini adalah bahwa pendekatan ini tidak berfungsi dengan primitif permukaan melengkung ketika tessellation terjadi sebelum pemrosesan puncak.

Diagram berikut menunjukkan bagaimana empat matriks dapat memengaruhi verteks. Setiap puncak memiliki hingga empat indeks, sehingga empat matriks dapat dicambuk per puncak. Diagram menggunakan matriks yang diindeks pada 0, 2, 5, dan 6.

diagram pencamuran verteks terindeks dengan menggunakan 4 dari 256 matriks yang tersedia

Diagram berikut menunjukkan bagaimana hingga 12 matriks dapat memengaruhi segitiga. Menggunakan indeks yang ditentukan per puncak, hingga 12 matriks dapat memengaruhi segitiga.

diagram pencamuran verteks terindeks untuk segitiga dengan menggunakan 12 dari 256 matriks yang tersedia

Persamaan berikut menentukan kasus umum tentang bagaimana matriks mempengaruhi vertex.

persamaan penpaduan puncak terindeks

Model V adalah posisi puncak ruang model input. Index0.. Index3 adalah indeks matriks per verteks yang dikemas ke dalam DWORD. M[] adalah array matriks dunia yang diindeks. b₀.. b₂ adalah bobot campuran. DuniaV adalah posisi puncak ruang dunia output.

Untuk informasi selengkapnya tentang penpaduan vertex terindeks, lihat Menggunakan Blending Vertex Terindeks (Direct3D 9).

Penpaduan Geometri