Stage3D

Stage3D ( الاسم الرمزي: Molehill [ 1 ] ) هي واجهة برمجة تطبيقات (API) خاصة ببرنامج Adobe Flash Player لعرض رسومات ثلاثية الأبعاد تفاعلية مع تسريع وحدة معالجة الرسومات (GPU) ، ضمن ألعاب وتطبيقات Flash. يمكن لتطبيقات Flash Player أو AIR المكتوبة بلغة ActionScript 3 استخدام Stage3D لعرض الرسومات ثلاثية الأبعاد، [ 2 ] وتعمل هذه التطبيقات بشكل أصلي على أنظمة Windows وMac OS X وLinux وApple iOS وGoogle Android . [ 3 ] تتشابه Stage3D في الغرض والتصميم مع WebGL . [ 4 ] [ 5 ]

تم تقديم تقنية Stage3D في Adobe Flash Player 11.0 و AIR 3.0 لتسهيل تسريع معالجة المحتوى ثلاثي الأبعاد بواسطة وحدة معالجة الرسومات (GPU) في تطبيقات Flash [ 1 ] [ 6 ]. في Flash Player 10 والإصدارات الأقدم، كان على تطبيقات Flash ثلاثية الأبعاد معالجة الرسومات ثلاثية الأبعاد بالكامل على وحدة المعالجة المركزية (CPU) . دعم Flash Player 10 شكلاً محدوداً من تسريع معالجة المواد بواسطة وحدة معالجة الرسومات (GPU) من خلال واجهة برمجة تطبيقات تُسمى Pixel Bender [ 1 ] [ 7 ] .

تُكتب تظليلات وحدة معالجة الرسومات في Stage3D بلغة تجميع رسومات Adobe (AGAL). [ 8 ] : 57 [ 9 ] تختلف كائنات Stage3D عن نموذج عرض SWF التقليدي في أنها لا يمكن إضافتها إلى قوائم عرض SWF ؛ بل يجب إنشاؤها عبر ActionScript . [ 1 ] [ 8 ] : 25

نظرًا لأن Stage3D مكتبة منخفضة المستوى قد يكون استخدامها المباشر مُرهقًا، فقد بُنيت عليها بعض مكتبات الرسومات ثلاثية الأبعاد وثنائية الأبعاد عالية المستوى للاستفادة من أدائها المُحسّن. تتضمن قائمة غير شاملة للمكتبات ومحركات الألعاب التي تستخدمها: Unreal Engine[ 10 ] [ 11 ] و Away3D[ 5 ] وCopperCube ، [ 12 ] وFlare3D ، [ 13 ] وStarling ، [ 14 ] و ND2D أو Proscenium من Adobe Labs. [ 15 ] وبالمثل، يمكن بناء تطبيقات WebGL ثلاثية الأبعاد باستخدام three.js ، وهي مكتبة عالية المستوى مشابهة لهذه المكتبات. [ 5 ] وقد اعتُمدت Away3D وStarling كمكونات رسمية في Adobe Gaming SDK. [ 16 ] [ 17 ]

تاريخ

في عام 2011، تم إصدار Flash Player 11، ومعه الإصدار الأول من Stage3D، مما يسمح بعرض ثلاثي الأبعاد مسرع بواسطة وحدة معالجة الرسومات لتطبيقات وألعاب Flash، على منصات سطح المكتب مثل Microsoft Windows و Mac OS X. [ 1 ]

في مارس 2012، تم إصدار Flash Player 11.2، الذي مكّن من دعم Stage3D/GPU على منصتي Android وiOS. ستعمل الألعاب التي تستخدم واجهات برمجة تطبيقات Stage3D دون أي تغييرات على هذه المنصات المحمولة. [ 18 ]

في يونيو 2012، تم إصدار Flash Player 11.3، مما أتاح البث التدريجي لخرائط نسيج Stage3D، مما يسمح بأداء أسرع وأوقات بدء تشغيل أسرع للألعاب والتطبيقات التي تستخدم Stage3D. [ 18 ]

في أغسطس 2012، تم إصدار Flash Player 11.4، مما رفع عدد بطاقات الفيديو المدعومة بتسريع الأجهزة إلى 2006، وسمح بقنوات ألفا للنسيج المضغوط في Stage3D. [ 18 ]

في مارس 2012، أعلنت أدوبي أن برنامج Stage3D سيصبح جزءًا من الميزات المدفوعة لبرنامج Flash Player (ابتداءً من الإصدار 11.2)، وبالتالي لن يكون متاحًا مجانًا للمطورين، بل سيخضع لنظام مشاركة الأرباح. [ 19 ] [ 20 ] وقد اعترض العديد من الشخصيات البارزة في مجتمع Flash على هذا التغيير، واصفين إياه بـ"ضريبة السرعة". [ 19 ]

في يناير 2013، صنّفت أدوبي جميع الميزات المتميزة على أنها متاحة للجميع، ويمكن استخدامها بحرية بواسطة تطبيقات فلاش، دون الحاجة إلى ترخيص أو رسوم من المطورين أو الناشرين. [ 2 ]

في سبتمبر 2012، تم إصدار Flash Player 11.4 مما يسمح للألعاب باستهداف "الملفات التعريفية المقيدة" التي تضمنت رقائق الرسومات القديمة، والتي لم تكن تدعم جميع ميزات Stage3D. [ 21 ]

في أبريل 2013، تم إصدار Flash Player 11.7، الذي دعم خرائط النسيج ذات 16 بت لمحتوى Stage3D، مما سمح بتقليل استخدام الذاكرة وتحسين إدارة الذاكرة. [ 18 ]

في يوليو 2013، تم إصدار Flash Player 11.8، الذي زاد الحد الأقصى لحجم خريطة النسيج إلى 4096 × 4096، بالإضافة إلى دعم خرائط النسيج المستطيلة (غير المربعة) لمحتوى Stage3D. وقد أتاح ذلك تفاصيل أدق في خرائط النسيج، وإنشاء أطالس نسيج أكبر، مما ساهم في تحسين الأداء . [ 18 ]

ابتداءً من عام 2014، أُزيل تسريع معالجة الصور بواسطة وحدة معالجة الرسومات (GPU) في مشغل فلاش بلاير الإصدار 11.8 وما بعده لبرامج Pixel Bender النصية. كانت Pixel Bender تقنية قديمة لكتابة مرشحات معالجة الصور عالية الأداء القائمة على وحدة المعالجة المركزية (CPU). وقد أدى ذلك إلى تعطيل عدد من المشاريع الأقل حظًا، بما في ذلك Scratch التابع لمعهد ماساتشوستس للتكنولوجيا ، والتي لم تتمكن من إيجاد الموارد البشرية اللازمة لإعادة برمجة تطبيقاتها بسرعة. [ 22 ] [ 23 ]

سمات

يتكون برنامج Stage3D من المكونات التالية:

  • واجهة برمجة تطبيقات موحدة - واجهة برمجة تطبيقات موحدة لـ ActionScript 3 لإدارة ذاكرة النسيج، وتظليل الرؤوس، وتظليل البكسل، وعرض الشبكة. يتم تنفيذها بشفافية باستخدام OpenGL (على نظامي التشغيل Mac OS X و Linux ) و DirectX (على نظام التشغيل Microsoft Windows ).
  • معالجة الرسومات المتسارعة بواسطة وحدة معالجة الرسومات - دعم متكامل لبطاقات الرسومات المصنعة بواسطة NVidia و AMD و Intel، [ 3 ] قائمة سوداء لبطاقات الرسومات غير المتوافقة.
  • معالجة الرسومات باستخدام وحدة المعالجة المركزية المتسارعة - برنامج عرض الرسومات المدمج كخيار احتياطي باستخدام SwiftShader ، للأنظمة التي تفتقر إلى بطاقات الرسومات أو التي لا تتوافق معها.
  • AGAL (لغة تجميع رسومات Adobe) - لغة لكتابة Shaders (البرامج التي تعمل على وحدة معالجة الرسومات) بحيث يمكن تحويلها إلى OpenGL GLSL Shaders و DirectX HLSL Shaders بواسطة Flash Player.
  • تنسيق ATF (تنسيق نسيج أدوبي) - هو تنسيق نسيج يسمح بتحويل الصور إلى تنسيقات نسيج مناسبة خاصة بكل منصة، مثل DXT على نظامي التشغيل ويندوز وماك أو إس، و PVRTC على نظام iOS. [ 14 ] : 47-48 [ 24 ]

يدعم برنامج Stage3D المكونات التالية:

  • واجهات برمجة تطبيقات XC - "الميزات المميزة" لـ Flash Player، والتي تتكون من رموز معالجة الذاكرة عالية السرعة (المعروفة باسم "Alchemy" ) وواجهات برمجة تطبيقات Stage3D.
  • CrossBridge - مجموعة أدوات تجميع متقاطع لتجميع ألعاب ثلاثية الأبعاد أو محركات ألعاب تعتمد على OpenGL لتشغيلها داخل Flash Player.
  • أدوبي سكاوت - أداة تحليل مرئي لمحتوى فلاش الذي يعمل على أجهزة سطح المكتب أو الأجهزة المحمولة. يُمكّن سكاوت من إجراء تحليل متعمق لمحتوى ستيدج ثري دي من خلال الميزات المتكاملة التالية: [ 25 ]
    • معاينة Stage3D - عرض المخزن المؤقت الحالي لمحتوى Stage3D المنفذ [ 25 ]
    • تسجيل Stage3D - التقاط كل أمر Stage3D يتم تنفيذه بواسطة محتوى Flash، وإعادة تشغيل/تتبع الأوامر المنفذة [ 25 ]
    • استخدام ذاكرة وحدة معالجة الرسومات - استخدام ذاكرة نسيج الملف الشخصي مع تفصيل في الوقت الفعلي [ 25 ]
    • محرر برامج Stage3D - يمكنك تعديل أوامر Stage3D المسجلة بشكل تفاعلي وملاحظة تأثير ذلك على عملية العرض. كما يمكنك تعديل كود AGAL لبرامج الرؤوس والقطع التي يتم تنفيذها بواسطة كل استدعاء رسم. [ 25 ]

أغال

لغة تجميع الرسومات من أدوبي (AGAL) هي لغة تجميع لكتابة برامج تظليل وحدة معالجة الرسومات (GPU) . [ 26 ] ابتكرت أدوبي لغة AGAL لتوفير لغة تظليل موحدة لجميع المنصات. [ 26 ] تُكتب برامج AGAL يدويًا باستخدام رموز العمليات والسجلات منخفضة المستوى . [ 26 ] تُجمَّع برامج AGAL إلى بايت كود، والذي يُضمَّن بعد ذلك في أفلام Flash SWF . [ 26 ] يُجمَّع بايت كود AGAL هذا تلقائيًا إلى برامج تظليل OpenGL GLSL وبرامج تظليل DirectX HLSL بواسطة مشغل أدوبي فلاش ، وذلك حسب المنصة. [ 26 ]

باستخدام AGAL، يستطيع المطورون كتابة برامج تظليل لتحويل النماذج ثلاثية الأبعاد على وحدة معالجة الرسومات ( تظليل الرؤوس )، وبرامج تظليل لعرض تأثيرات الإضاءة الديناميكية المعقدة على وحدة معالجة الرسومات ( تظليل البكسل ). كما تتيح AGAL عرض نسيج عالي الجودة باستخدام تقنية رسم الخرائط MIP . [ 27 ] تُستخدم AGAL على نطاق واسع في محركات ألعاب Flash مثل Away3D و Flare3D لتأثيرات متنوعة. تُستخدم AGAL عادةً لتوفير الإضاءة الديناميكية ، والمدى الديناميكي العالي (HDR)، وإخفاء ألفا ، والعرض متعدد المراحل، ورسم خرائط الإزاحة ، ورسم خرائط البيئة . [ 28 ] [ 29 ] يوسع Flare3D نطاق AGAL بلغة تظليل خاصة تُسمى FLSL (لغة تظليل Flare3D)، مما يُسهل كتابة برامج التظليل. [ 29 ] تُعد HLAG مثالًا آخر على لغة تظليل عالية المستوى تُترجم إلى AGAL. [ 30 ]

عند نقل ألعاب الفيديو ثلاثية الأبعاد المكتوبة بلغة C++ لتشغيلها في Adobe Flash Player ، يجب على المطورين ترجمة تظليلات HLSL وGLSL التقليدية إلى AGAL. [ 31 ] يمكن تحويل كود لعبة الفيديو المكتوب بلغة C++ إلى كود متوافق مع Flash باستخدام CrossBridge .

انظر أيضاً

مراجع

  1. 1 2 3 4 5 جوزيف لابريك (2011). ما الجديد في فلاش بلاير 11. دار نشر أورايلي ميديا، ص  17. ISBN 978-1-4493-1110-0.
  2. 1 2 ميزات Adobe Premium لبرنامج Flash Player ، مركز مطوري Flash Player، Adobe
  3. 1 2 شرائح Stage3D غير مدعومة، برامج تشغيل، Flash Player 11، AIR 3 ، مساعدة Adobe
  4. مات فيشر (2013). HTML5 لمطوري فلاش . دار نشر باكت المحدودة. § Stage3D مقابل WebGL، ص 91. ISBN 978-1-84969-333-2.
  5. 1 2 3 "مقارنة أداء Stage3D وWebGL - Airtight Interactive" . Airtightinteractive.com. 28-10-2011 . تم الاطلاع عليه بتاريخ 4-8-2014 .
  6. جوزيف لابريك (2011). ما الجديد في Adobe AIR 3. دار نشر أورايلي ميديا، الصفحات 17-26 . ISBN  978-1-4493-1108-7.
  7. ريمي أرنو (2011). "ثلاثي الأبعاد في متصفح الويب". في إريك لينجيل (محرر). جواهر محركات الألعاب 2. مطبعة سي آر سي. الصفحات 207-212 . ISBN  978-1-56881-437-7.
  8. 1 2 كريستر كيتيلا (2011). Adobe Flash 11 Stage3D (Molehill) دليل برمجة الألعاب للمبتدئين . Packt Publishing Ltd. ISBN 978-1-84969-169-7.
  9. "ما هو AGAL | اتصال مطوري Adobe" . Adobe.com. 10-10-2011 . تم الاطلاع عليه بتاريخ 04-08-2014 .
  10. واغنر جيمس أو (2012). أسرار تصميم الألعاب . جون وايلي وأولاده. ص 130. ISBN  978-1-118-46391-8.
  11. "أدوبي فلاش 11 يعتمد محرك أنريل 3 لتحسين ألعاب المتصفح | ذا فيرج" . theverge.com. 7 أكتوبر 2011. تاريخ الاطلاع: 4 أغسطس 2014 .
  12. "تسليط الضوء على الأدوات: CopperCube 4.0" . MCV . evelop-online.net. 2014-05-28 . تم الاطلاع عليه بتاريخ 2014-09-22 .
  13. كيث جلادستين (2013). تطوير ألعاب الفلاش في عالم اجتماعي، متنقل، وثلاثي الأبعاد . سينجايج ليرنينج. الصفحات 383-421 . ISBN  978-1-4354-6021-8.
  14. 1 2 تيبو إمبير (2012). تقديم ستارلينج . أورايلي ميديا، إنك. ISBN 978-1-4493-2089-8.
  15. ريكس فان دير سبوي (2012). تصميم ألعاب فاونديشن باستخدام أكشن سكريبت 3.0 . دار نشر أبريس. ص 641. ISBN  978-1-4302-3993-2.
  16. تيبو إمبير (4 ديسمبر 2012) تقديم أدوات تطوير الألعاب (Gaming SDK، Adobe Scout، FlasCC)
  17. "Adobe Gaming SDK" . creative.adobe.com . تم الاطلاع عليه بتاريخ 4 أغسطس 2014 .
  18. 1 2 3 4 5 خارطة طريق أدوبي فلاش ، أدوبي
  19. ١ ٢ ثم وصلت الميزات المميزة ( مؤرشف بتاريخ ٥ فبراير ٢٠١٥ في أرشيف الإنترنت ، مدونة ASV Guy)
  20. تحديث: ميزات مميزة لبرنامج Flash Player وAdobe AIR ومدونة FP
  21. إمبرت، تيبو. "تقديم مشغل فلاش 11.4/AIR 3.4 بيتا!" . بايت أراي.
  22. "Stage3D" . scratch.mit.edu . تم الاطلاع عليه بتاريخ 2014-08-05 .
  23. Adobe Flash Player 11.8 - خطأ رقم 3591185: تدهور أداء مُظلِّل Pixel Bender بشكل كبير في FP11.8. تم إغلاقه باعتباره "لن يتم إصلاحه أبدًا". مؤرشف بتاريخ 22 أبريل 2014 في Wayback Machine
  24. "النسيج المضغوط في Stage3D - تقديم حزمة تطوير البرامج ATF - ByteArray.org" . bytearray.org . تم الاطلاع عليه بتاريخ 4 أغسطس 2014 .
  25. 1 2 3 4 5 البدء باستخدام Adobe Scout ، Adobe Developer Connection
  26. 1 2 3 4 5 ما هو AGAL ، اتصال مطوري Adobe
  27. تقنية رسم الخرائط المتداخلة لتحسين ملمس الأسطح في برنامج Stage3D ، Adobe Developer Connection
  28. جلسة  : فلاش إلى أقصى حد! رسومات ثلاثية الأبعاد عالية الأداء في Silent Hunter Online، مؤرشفة بتاريخ 28 أغسطس 2021 في Wayback Machine ، مؤتمر مطوري الألعاب أوروبا 2013
  29. 1 2 FLSL مؤرشف بتاريخ 14 يناير 2023 في Wayback Machine ، ويكي Flare3D
  30. لا يزال HLAG في مرحلة تجريبية (ألفا). مؤرشف بتاريخ 2022-07-02 على موقع Wayback Machine الإلكتروني ، موقع أداة HLAG
  31. كرايتك، سايلنت هانتر أونلاين تتحدث عن الإضافات الأخيرة إلى مؤتمر مطوري الألعاب الأوروبي 2013 ، غاماسوترا ، "محرك عرض وحدة تحكم C++ في أدوبي فلاش باستخدام أكشن سكريبت/ستيج ثري دي واستخدام AGAL للتأثيرات الرسومية مثل عرض المحيط"