Saya ingin tahu tentang cara menangani banyak lampu dalam sebuah adegan. Diberi peta yang sangat besar dalam permainan peran, dengan ruang bawah tanah (dengan lampu di sana) dll. Saya tahu tentang pencahayaan yang ditangguhkan, tetapi itu hanya menjawab bagaimana membuat banyak cahaya. Tetapi pertanyaan saya lebih: Bagaimana tidak membuat banyak lampu. Jelas diinginkan untuk hanya membuat lampu yang mempengaruhi pemandangan, tapi saya tidak tahu teknik / algoritma untuk mengarsipkan ini. Tidak ada yang mau atau bahkan mampu membuat 500 titik lampu, hanya karena ada di suatu tempat di peta. Tapi seseorang tidak bisa hanya mengambil garis lurus dari cahaya ke pemain dan menguji apakah ada sesuatu di antaranya. Jaraknya juga sepertinya bukan indikator yang bagus. (Sinar matahari?)
tl; dr: Bagaimana saya bisa mengetahui lampu mana yang memengaruhi pemandangan untuk hanya membuatnya?
Jawaban:
Bahkan lebih sederhana dari volume yang diikat;
Tetapkan radius untuk setiap cahaya. Ketika merender adegan Anda, cukup periksa untuk melihat apakah jarak antara objek adegan Anda dan setiap cahaya kurang dari jari-jari cahaya. Jika demikian, gunakan lampu, lewati saja.
Hanya sebagian kecil yang lebih rumit, tergantung pada seberapa pentingkah kinerja:
Anda dapat melakukan semacam pemeriksaan fase luas dengan ini juga. Cukup tentukan kisi spasial yang menyimpan gagang pada lampu Anda berdasarkan sel kisi, maka hanya lakukan pemeriksaan jarak pada lampu yang ada dalam sel dalam radius maksimal objek pemandangan Anda.
sumber
Cara paling sederhana yang dapat saya pikirkan (mari kita jujur, satu-satunya cara saya memikirkan) adalah untuk memberikan masing-masing cahaya volume yang mengikat . Jika volume pembatas berpotongan dengan view frustum (atau volume pembatas dari frustum tampilan), terapkan lampu.
Mungkin masih ada lampu yang diterapkan meskipun tidak mempengaruhi benda yang terlihat tetapi sederhana dan cepat. Pengaturan cerdas grafik adegan Anda dapat berarti bahwa hanya beberapa persimpangan memeriksa pengambilan sebagian besar lampu Anda (seperti apa yang dilakukan untuk pemusnahan objek).
Sesuatu seperti matahari tidak dapat memiliki volume pembatas (untuk menunjukkan itu harus selalu diterapkan).
sumber