Saya memiliki masalah dalam mencari informasi tentang decals, jadi mungkin pertanyaan ini akan membantu orang lain. Implementasinya adalah untuk renderer maju.
Bisakah seseorang mengonfirmasi jika saya mendapat implementasi stiker yang benar?
- Anda menentukan kubus dimensi apa pun yang akan menentukan volume proyeksi di ruang umum. Anda memeriksa persimpangan segitiga dengan kubus yang ditentukan untuk menerima segitiga yang akan mempengaruhi proyeksi.
- Anda klip segitiga ini dan simpan.
- Anda kemudian menggunakan trik matriks untuk menghitung koordinat UV untuk segitiga tersimpan yang akan referensi tekstur yang Anda proyeksikan.
- Untuk melakukan ini, Anda mengambil vektor yang mewakili tinggi, lebar dan kedalaman kubus di ruang bersama, sehingga sudut kiri bawah adalah asalnya.
- Anda menempatkan bahwa dalam matriks sebagai vektor unit i, j, k, mengatur terjemahan untuk kubus, maka Anda membalikkan matriks ini.
- Anda mengalikan simpul segitiga yang disimpan dengan matriks ini, dengan cara itu Anda mendapatkan koordinatnya di dalam kubus ukuran 0 hingga 1 yang Anda gunakan sebagai koordinat UV.
- Dengan cara ini Anda memiliki segitiga asli yang Anda proyeksikan dan Anda memiliki koordinat UV untuk mereka (koordinat UV merujuk pada tekstur yang Anda proyeksikan).
- Kemudian Anda rerender segitiga yang disimpan ke tempat kejadian dan mereka menimpa area proyeksi dengan gambar yang diproyeksikan.
Sekarang pertanyaan yang tidak dapat saya temukan jawabannya. Apakah poin terakhir benar? Saya tidak pernah melakukan pemangkasan perangkat lunak, tetapi tampaknya cukup rawan kesalahan, karena ketepatan yang terbatas, bahwa akan ada beberapa perkelahian yang terjadi untuk tekstur yang diproyeksikan. Juga apakah cara mendapatkan koordinat UV benar?