متجه رباعي الأبعاد

في علوم الحاسوب ، يُعرف المتجه رباعي الأبعاد بأنه نوع بيانات متجهي ذو أربعة عناصر . تشمل استخداماته الإحداثيات المتجانسة للفضاء ثلاثي الأبعاد في رسومات الحاسوب ، وقيم RGBA ( الأحمر والأخضر والأزرق والشفافية ) لصور البت ماب ذات قناة اللون وقناة الشفافية (لذا فهي شائعة الاستخدام في رسومات الحاسوب). كما يمكن أن تمثل أيضًا الكواترنيونات (المفيدة في عمليات الدوران)، على الرغم من اختلاف الجبر الذي تُعرّفه.

دعم أجهزة الكمبيوتر

تحتوي بعض المعالجات الدقيقة على دعم مادي للمتجهات رباعية الأبعاد مع تعليمات تتعامل مع تعليمات SIMD ( تعليمات مفردة، بيانات متعددة ) ذات 4 مسارات ، وعادةً ما يكون مسار البيانات 128 بت وحقول الفاصلة العائمة 32 بت . [ 1 ]

قد تُسهّل تعليمات مُحددة (مثل الضرب النقطي لأربعة عناصر ) استخدام مُسجل واحد ذي 128 بت لتمثيل مُتجه رباعي الأبعاد. على سبيل المثال، بالترتيب الزمني: هيتاشي SH4 ، وامتداد PowerPC VMX128، [ 2 ] وإنتل x86 SSE4. [ 3 ]

تجاوزت بعض محركات المتجهات ذات الأربعة عناصر (مثل وحدات المتجهات PS2 ) ذلك، حيث أتاحت إمكانية بث المكونات كمصادر ضرب، ودعم الضرب الاتجاهي . [ 4 ] [ 5 ] استخدمت الأجيال السابقة من خطوط أنابيب تظليل وحدة معالجة الرسومات (GPU) مجموعات تعليمات ذات كلمات تعليمات طويلة جدًا (VLIW) مصممة خصيصًا لعمليات مماثلة.

دعم البرامج

يمكن تغليف استخدام SIMD للمتجهات رباعية الأبعاد بسهولة في مكتبة رياضية للمتجهات (تُنفذ عادةً بلغة C أو C++ ) [ 6 ] [ 7 ] [ 8 وهي شائعة الاستخدام في تطوير ألعاب الفيديو ، إلى جانب دعم المصفوفات 4×4 . وتختلف هذه المكتبات عن مكتبات الجبر الخطي العامة في المجالات الأخرى التي تركز على المصفوفات ذات الأحجام المختلفة. تدعم هذه المكتبات أحيانًا المتجهات ثلاثية الأبعاد المُضافة إلى رباعية الأبعاد، أو تحميل البيانات ثلاثية الأبعاد في سجلات رباعية الأبعاد، مع ربط العمليات الحسابية بكفاءة بعمليات SIMD من خلال تطبيقات الدوال المضمنة لكل منصة . يتوفر خيار بين نهجي AOS وSOA نظرًا لتوافر سجلات رباعية العناصر، مقابل تعليمات SIMD المصممة عادةً للبيانات المتجانسة.

تتضمن لغات التظليل المستخدمة في برمجة وحدات معالجة الرسومات (GPU) عادةً أنواع بيانات رباعية الأبعاد (إلى جانب ثنائية وثلاثية الأبعاد) مع دوال وصول xyzw، بما في ذلك التبديلات أو الوصول المتقاطع ، مما يسمح، على سبيل المثال، بسهولة تبديل تنسيقات RGBA أو ARGB، والوصول إلى متجهين ثنائيي الأبعاد مُجمّعين في متجه رباعي الأبعاد واحد، وما إلى ذلك. [ 9 ] وقد انتقلت وحدات معالجة الرسومات الحديثة منذ ذلك الحين إلى خطوط أنابيب أحادية التعليمات ومتعددة الخيوط (SIMT) (لتحقيق كفاءة أكبر في الحوسبة للأغراض العامة على وحدات معالجة الرسومات (GPGPU))، ولكنها لا تزال تدعم نموذج البرمجة هذا. [ 10 ]

انظر أيضاً

مراجع