এটি মাস্কিং দিয়ে করা যেতে পারে। এটি করার একাধিক উপায় রয়েছে।
এক উপায় হ'ল অগ্রভাগ উপাদানগুলির ছায়া সংস্করণ রেন্ডার করার উপায় রয়েছে। পটভূমি আঁকুন। তারপরে অগ্রভাগের উপাদানগুলি আঁকুন, আপনি কীভাবে আলো সরিয়ে নিতে চান তার উপর নির্ভর করে কিছুটা অফসেট করুন, যাতে আপনি কেবল কালো রঙের আউটপুট পান। তারপরে অগ্রভাগটি সাধারণত আঁকুন।
আরেকটি উপায় হ'ল অগ্রভাগটি একটি বাফারে রেন্ডার করা, আপনি যা দেখতে চেয়েছিলেন তার চেয়ে খানিকটা বেশি। তারপরে কিছু "কালো" পাস এবং সম্ভবত একটি ঝাপসা পাস। এখন এই সেটগুলির পাসের আউটপুট এবং তারপরে অগ্রভাগের বাফারের দৃশ্যমান বিভাগটি রেন্ডার করুন।
বিভিন্ন কোণে একাধিক লাইট সমর্থন করার জন্য, আপনি কেবল আগের পদক্ষেপটি একাধিকবার করতে পারেন বা সেগুলি সমস্ত একক বাফারে জমা করতে পারেন। আপনি কী অর্জন করার চেষ্টা করছেন তার উপর ভিত্তিতে গণিতটি পৃথক হবে, তবে প্রথম ভিডিওটিতে কী চলছে তার প্রথম অনুমান কেবলমাত্র তারা ক্যামেরার অবস্থান (দৃশ্যমান অঞ্চলের কেন্দ্র) এর বিপরীতে আলোর অবস্থান নেয় এবং তারপরে ছায়াগুলিকে কীভাবে অফসেট করা যায় তা নির্ধারণ করতে সেই ভেক্টরটি (স্কেলড) ব্যবহার করুন। কিছুটা এইরকম:
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
দৃশ্যের "কাছাকাছি" থাকা লাইটগুলির একটি ছোট স্কেল ফ্যাক্টর থাকবে। আপনি যদি একাধিক গভীরতা চান, তবে সেখানে কাজ করার মতো কিছু গণিত রয়েছে, সাধারণ জ্যামিতিক জিনিস।