محرك ثلاثي الأبعاد
المحرك الثلاثي الأبعاد هو وحدة برمجية ذات بنية واضحة تهدف إلى تقديم وظائف مخصصة لأداء حسابات فراغية بهدف إظهار رسوميات ثلاثية الأبعاد باستخدام الحاسوب.
"محرك ثلاثي الأبعاد" هي الترجمة العربية للمصطلح الإنجليزي 3D Engine. لذلك، فإن الكلمة لا علاقة لها بالتحريك Animation بالرغم من أن وظيفة التحريك هي إحدى الوظائف التي قد يقوم بها المحرك ثلاثي الأبعاد (انظر في الأسفل). يمكن ربط الاسم مع المحرك الحقيقي (كمحرك السيارة) حيث أنهما يتشابهان من ناحية وجود هيكلية معقدة مخبأة يمكن الاستفادة منها عن طريق واجهة استخدام مبسطة (المقود والدواسات في السيارة مثلاً والإجراءات المتاحة في محرك الـ 3D بالمقابل).
تتألف عملية إظهار الرسوميات في الحاسوب من سلسلة طويلة من العمليات المتلاحقة مُشكـِّلة ما يدعى بـ"خط تجهيز" (pipeline).
أغلب البرامج التي تقوم بإظهار ثلاثي الأبعاد تحتاج إلى أن تحتوي على التعليمات التي تقوم بإعداد خط التجهيز هذا. هذه العمليات لا تختلف في قسم كبير منها بين برنامج وآخر، مما يعني أن كُتـَّـاب هذه البرامج يمنكهم إعادة استخدام المنطق نفسه فيما بينهم وتوفير الوقت. يقوم محرك الـ 3D بتجميع هذه العمليات الشائعة وتنظيمها ضمن بنية موحدة يمكن إعادة استخدامها بسهولة. إضافة إلى ذلك، يمكن لمحرك الـ 3D أن يقدم واجهة تعامل interface مجردة من التفاصيل الخاصة بالنظام التحتي low-level system. هذا المفهوم ازدادت أهميته في الآونة الأخيرة بسبب الحاجة لاستهداف عدة منصات مختلفة platforms (مثلاً نظام تشغيل ويندوز ونظام تشغيل لينكس).
تختلف شمولية وظائف المحرك ثلاثي الأبعاد بحسب أهدافه وضخامته. قد تتركز الوظائف في طبقة بسيطة تدير عملية تسليم المعلومات (المضلعات الفراغية مثلاً) لمعالج الرسوميات rendering hardware (كدايركت ثري دي مثلاً)، وقد تتسع لتغطي كل شيء بدءاً من نقل المعلومات (مضلعات وإكساءات وحركات ...الخ) من البيئة المستخدمة لخلق وتحرير هذه المعلومات (برنامج 3D عادةً) وحتى لحظة إظهار الألوان على جهاز الخرج (كمثال، محرك مينتال راي).
فيما يلي قائمة تحاول أن تشمل كل العمليات التي يمكن للمحرك ثلاثي الأبعاد القيام بها ودعمها، مذكورة بترتيب تطبيقها:يوجد حالياً نظامين رئيسين في معالجة ورسم المشاهد الثلاثية الأبعاد
أغلب المحركات الثلاثية الأبعاد المستخدمة في الإنتاج الفلمي تعتمد النظام الأول (متتبعة للأشعة) بسبب إمكانية هذه المحركات تنفيذ حسابات بمماثلة فيزيائية للظواهر الطبيعية مما قد يسهل إنتاج صور أكثر واقعية. بينما ينتشر النظام الثاني بين المحركات المسموح لها بالتنازل عن صحة الحسابات الناتجة عنها. كمثال، أغلب بطاقات الإظهار الاستهلاكية لأجهزة الكمبيوتر الشخصي تعتمد على نظام الإسقاط المباشر (world-to-screen) لرسم الأجسام المكونة من مثلثات، حيث يتم رسم كل مثلث على حدة.
يمكن طرح المحرك للاستخدام بعدة أشكال. القائمة التالية تلخص الخيارات المتاحة:
فيما يلي مثالين مختلفين يوضحان الفرق بين الوظائف التي يقوم بها محرك ثلاثي الأبعاد للإنتاج الفلمي وآخر موجه للرسم الفوري.
يعتمد طريقة التوزيع والاستخدام الثالثة (أدوات تنفيذية بسيطة مع واجهة برمجية). الواجهة البرمجية لمينتال راي مرنة بشكل يتيح للمبرمجين تنفيذ طيف واسع من طلبات المعلومات عن العالم المحيط بالنقطة التي يتم رسمها. مع إمكانية مفتوحة لدفع معلومات إضافية في المشهد يمكن استقبالها لاحقاً أثناء الرسم والتصرف بناءً على فحواها.
يتم توزيع مينتال راي أيضاً بحسب الطريقة الرابعة من طرق التوزيع أعلاه، وهذا ما نراه في برامج مثل سوفت إيماج إكس إس آي ومايا ومؤخراً ثري دي ستوديو ماكس.
يعتمد طريقة التوزيع والاستخدام الثانية. يقدم أدوات لاختبار المظللات الفورية داخل برنامج ثري دي ستوديو ماكس ومايا، ومكتبات زمن تشغيل واسعة كالحسابات الرياضية وتحويل الموارد. يستهدف عدد من أنظمة التشغيل المختلفة.
- موقع ديف ماستر: قاعدة بيانات لبعض المحركات ثلاثية الأبعاد.