Saya sedang menulis mesin isometrik 2d kecil di C ++ dan saya mencoba menerapkan pengecoran bayangan waktu nyata. Saya mengikuti pendekatan sederhana yang dijelaskan pada halaman ini dan inilah hasilnya (cahaya terletak pada posisi yang sama dari kubus kuning):
Hasilnya sangat bagus tetapi ada bayangan yang hilang di dinding dan di atas kubus. Berikut adalah contoh tampilannya (saya telah menggambar bayangan yang diharapkan berwarna hijau):
Semua kubus yang ditarik hanya terbuat dari 3 paha depan 2D yang terletak pada posisi XY dan dengan kedalaman Z (z = x + y). Saya menggunakan OpenGL dengan matriks ortografis (glOrtho). Bayangan digambar menggunakan buffer stensil.
Saya mencari sumber daya atau solusi yang akan membantu saya menyelesaikan implementasi pengecoran bayangan ini.
Terima kasih banyak!