Saya telah memberi kode pada diri saya seorang penampil OpenGL BSP untuk format game lama. Ini sangat mirip dengan format file Quake 3. Karena minat saya mengembangkan mesin grafis, saya ingin berkembang sambil melihat menggunakan teknologi saat ini. Jadi saya berpaling kepada Anda, para ahli pada subjek untuk arahan apa yang harus fokus. Saya ingin ini secepat mungkin dan mengingat format file lama sangat sederhana dan memiliki beberapa poligon, saya pikir ini harus bisa dilakukan. Ini pertanyaan saya:
Pencahayaan a. Apakah masuk akal bagi saya untuk belajar pencahayaan sudut atau haruskah saya menerapkan pencahayaan per piksel saja? b. Saya tahu OpenGL memiliki batas 8 cahaya. Haruskah saya secara realistis hanya menggunakan salah satu dari itu untuk cahaya sekitar dan komputer lainnya melalui shader? Jika tidak, apa yang harus saya lakukan?
Menyortir / Memusnahkan a. Algoritma apa yang paling cepat digunakan untuk menyortir permukaan agar diurai. Kompleksitas sebenarnya bukan masalah. Saya ingin mempelajari apa yang sedang digunakan dan cara untuk benar-benar hanya memberikan hal-hal yang dapat saya lihat. Saya telah melihat sejumlah algoritma yang dijelaskan seperti algoritma pelukis dan saya bertanya-tanya apa yang paling masuk akal untuk geometri berbasis BSP. b. Jika saya memiliki tekstur dengan masker alpha, saya diberitahu bahwa penyortiran memiliki semacam keterlibatan dengan proses ini. Bagaimana cara saya mengizinkan mereka membuat dengan benar dalam ruang 3d?
Pipa Grafik a. Haruskah saya mengirim data geometri saya melalui VBO? Apakah ini standar yang digunakan saat ini? b. Jika saya memiliki sejumlah "wilayah", mungkin 200-300, haruskah saya menemukan cara yang lebih baik untuk mengirimnya ke GPU tanpa mengirim 200-300 bongkahan. Haruskah saya menggabungkan mereka menjadi satu dan menyimpan referensi yang terkait dengan masing-masing.
Adakah tips lain untuk rendering berbasis BSP dan hal-hal semacam itu?
Juga, jika saya mengatakan sesuatu yang tidak benar, tolong perbaiki saya. Saya adalah orang yang lebih suka dikoreksi dan sedikit malu daripada bodoh dan tidak sadar.
Terima kasih atas waktu Anda. Saya sangat menghargainya.