Bagaimana cara menghasilkan normal permukaan?


9

Saya memiliki beberapa metode menggambar debug di mesin saya yang dapat menghasilkan geometri yang berguna untuk debugging, seperti bola dan kubus.

Saat ini saya tidak menghasilkan normals untuk bentuk ini. Apakah ada metode tujuan umum untuk menghasilkan face normals dan per vertex normals untuk mesh yang arbitrer? (Saya membayangkan Anda akan membutuhkan face normals untuk menghasilkan per vertex normals?)

Jawaban:


12

Untuk menghasilkan normals wajah, gunakan produk lintas vektor dari dua sisi setiap segitiga dan kemudian normalisasikan hasilnya. Pastikan Anda mendapatkan arah yang benar, jika tidak, beberapa normals akan menunjukkan dan beberapa keluar.

Vertex normals kemudian akan menjadi interpolasi dari semua normals wajah tempat vertex dilampirkan.


Maksud Anda interpolasi yang dinormalisasi (atau hanya penjumlahan yang dinormalisasi), mungkin;)
Andrew Russell

3
Selalu aktifkan kembali setelah dijumlahkan! Bahkan jika Anda diinterpolasi dari vektor dinormalisasi, hasilnya TIDAK dinormalisasi!
Bob Somers

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.