Saya mulai belajar OpenGL dengan membuat game 2D murni.
Saya harus memutuskan format Vertices. Apakah saya memerlukan komponen normal? Atau ini untuk komponen 2d tidak diperlukan?
Perasaan saya mengatakan saya tidak akan membutuhkannya karena semuanya datar. Tapi mungkin saya membutuhkannya untuk shader atau hal lain yang belum saya lihat.
Anda tidak perlu normals kecuali Anda melakukan simulasi pencahayaan. Mereka cukup sepele untuk ditambahkan begitu Anda membutuhkannya, dibandingkan dengan kesulitan sebenarnya menulis shader pencahayaan.
sumber
Jika Anda menggambar segitiga Anda dalam ruang 3D, dan kemudian melihat semuanya dari samping agar terlihat 2D (yang seharusnya Anda lakukan), maka Anda akan memerlukan normals agar dapat menggambar lampu di atas paha depan Anda.
Jika Anda tidak menyalakan apa pun, maka Anda tidak akan membutuhkan normals.
Rekomendasi saya karena Anda mengajukan pertanyaan ini, adalah untuk menghilangkan normals untuk saat ini, terlepas dari apa rencana Anda nanti. Tidak akan sulit untuk menambahkannya nanti jika Anda membutuhkannya.
sumber
Hanya Anda yang tahu apakah Anda akan membutuhkan normals dalam game 2d. Mereka mungkin masuk akal - DOOM, misalnya, memiliki normals meskipun itu adalah game 2d (ya ya, itu terlihat sangat 3d, tetapi secara teknis itu masih game 2d).
Salah satu alasan bagus memiliki norma dalam permainan 2d adalah untuk dapat memeriksa apakah Anda berada di dalam atau di luar bentuk tertentu. Ini juga dapat mempercepat respons tabrakan dinding (mengetahui arah untuk mendorong benda keluar dari dinding).
Tidak ada alasan untuk memberikan normals ke OpenGL atau paket render apa pun yang Anda gunakan jika tidak memerlukannya untuk apa pun (seperti pencahayaan yang ditunjukkan oleh hampir semua orang).
sumber
Game macam apa itu? Jika Anda memiliki perspektif top-down, normals mungkin berguna untuk mengatur pergerakan karakter Anda (Anda tahu, menggeser posisi sepanjang normal dari arah karakter yang dihadapinya)
Normalnya juga berguna untuk berbagai perilaku kemudi. Tetapi sebuah tautan mengatakan lebih dari seribu kata: http://www.red3d.com/cwr/steer
sumber