ฉันเขียนเอนจิ้น isometric 2d ขนาดเล็กใน C ++ และฉันพยายามที่จะใช้การจำลองเงาแบบเรียลไทม์ ฉันทำตามวิธีง่าย ๆ ที่อธิบายไว้ในหน้านี้และนี่คือผลลัพธ์ (แสงอยู่ที่ตำแหน่งเดียวกันกับลูกบาศก์สีเหลือง):
ผลลัพธ์เป็นสิ่งที่ดีมาก แต่มีเงาที่หายไปบนผนังและด้านบนของก้อน นี่คือตัวอย่างว่าควรมีลักษณะอย่างไร (ฉันวาดเงาที่คาดไว้เป็นสีเขียว):
ก้อนทั้งหมดที่ถูกดึงออกมานั้นทำจาก 3 มิติสี่มิติที่อยู่ในตำแหน่ง XY และมีความลึก Z (z = x + y) ฉันใช้ OpenGL กับ orthographic matrix (glOrtho) เงาถูกวาดโดยใช้ stencil buffer
ฉันกำลังมองหาแหล่งข้อมูลหรือโซลูชันที่จะช่วยให้ฉันใช้งานการจำลองเงานี้
ขอบคุณมาก!