Điều này có thể được thực hiện với mặt nạ. Có nhiều cách để làm điều đó.
Một cách sẽ là có một cách để hiển thị một phiên bản bóng của các phần tử tiền cảnh. Vẽ nền. Sau đó vẽ các yếu tố tiền cảnh, bù nhẹ tùy thuộc vào cách bạn muốn ánh sáng di chuyển, theo cách mà bạn chỉ xuất ra màu đen. Sau đó vẽ tiền cảnh bình thường.
Một cách khác là kết xuất tiền cảnh vào bộ đệm, nhiều hơn một chút so với thực tế bạn thấy. Sau đó thực hiện một số vượt qua "sang màu đen" và có thể vượt qua mờ. Bây giờ kết xuất đầu ra của tập hợp này và sau đó là phần hiển thị của bộ đệm nền trước.
Để hỗ trợ nhiều đèn ở các góc khác nhau, bạn chỉ cần thực hiện bước trước nhiều lần hoặc tích lũy tất cả chúng trong một bộ đệm. Toán học sẽ thay đổi dựa trên những gì bạn đang cố gắng đạt được, nhưng phỏng đoán đầu tiên về những gì đang diễn ra trong video đầu tiên đó là họ chỉ đặt vị trí của ánh sáng so với vị trí của máy ảnh (trung tâm của vùng nhìn thấy) và sau đó sử dụng vectơ đó (chia tỷ lệ) để xác định cách bù bóng. Cái gì đó như:
draw background
for each light intersecting viewing bounds:
offset = light.position - camera.position
offset *= SCALE FACTOR (0.25 maybe)
draw shadow foreground at offset
draw foreground
Đèn "gần" hơn với cảnh sẽ có hệ số tỷ lệ nhỏ hơn. Nếu bạn muốn có nhiều độ sâu, có một số phép toán để thực hiện, đó là những thứ hình học đơn giản.