Tôi đang viết một công cụ isometric 2d nhỏ trong C ++ và tôi đang cố gắng thực hiện đổ bóng theo thời gian thực. Tôi đã làm theo một cách tiếp cận đơn giản được mô tả trên trang này và đây là kết quả (ánh sáng nằm ở cùng vị trí so với khối màu vàng):
Kết quả là rất đẹp nhưng thiếu bóng trên tường và trên đỉnh của hình khối. Dưới đây là một ví dụ về giao diện của nó (Tôi đã vẽ các bóng được mong đợi bằng màu xanh lá cây):
Tất cả các hình khối được vẽ chỉ đơn giản là 3 hình tứ giác 2D nằm ở vị trí XY và có độ sâu Z (z = x + y). Tôi sử dụng OpenGL với một ma trận chỉnh hình (glOrtho). Bóng được vẽ bằng cách sử dụng bộ đệm stpson.
Tôi đang tìm kiếm các tài nguyên hoặc giải pháp sẽ giúp tôi hoàn thành việc thực hiện đổ bóng này.
Cảm ơn rất nhiều!