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
Because Stage3D is a low-level library that may be tedious to use directly, it has seen some higher-level 3D and 2D libraries built on top of it in order to benefit from the higher performance that it provides. An incomplete list of libraries and game engines using it includes: Unreal Engine 3,[10][11]Away3D 4,[5]CopperCube,[12]Flare3D,[13]Starling,[14]:vii ND2D or Adobe Labs' Proscenium.[15] Similarly, WebGL 3D applications may be built with three.js, a higher-level library similar to these.[5] Away3D and Starling have been christened as official components of the Adobe Gaming SDK.[16][17]
History
In 2011, Flash Player 11 was released, and with it the first version of Stage3D, allowing for GPU-accelerated 3D rendering for Flash applications and games, on desktop platforms such as Microsoft Windows and Mac OS X.[1]
In March 2012, Flash Player 11.2 was released, which enabled Stage3D/GPU support on Android and iOS platforms. Games utilizing Stage3D APIs would work with no changes on these mobile platforms.[18]
In June 2012, Flash Player 11.3 was released, enabling progressive streaming of Stage3D texture maps, allowing for faster performance and startup times for games and applications utilizing Stage3D.[18]
In August 2012, Flash Player 11.4 was released, which raised the supported hardware-accelerated video cards count to 2006, and allowed alpha-channels for Stage3D compressed textures.[18]
In March 2012, Adobe announced that Stage3D will be part of the premium features of the Flash Player (stating with Flash Player version 11.2), and thus not available completely free of charge to developers, but based on a revenue sharing scheme.[19][20] Various notable members of the Flash community objected to the change, referring to it as a "speed-tax".[19]
In January 2013, Adobe classified all premium features as general availability, and could be freely used by Flash applications, without requiring a license or royalty from developers or publishers.[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 2 3 4 5 جوزيف لابريك (2011). ما الجديد في فلاش بلاير 11. دار نشر أورايلي ميديا، ص 17. ISBN 978-1-4493-1110-0.
- 1 2 ميزات Adobe Premium لبرنامج Flash Player ، مركز مطوري Flash Player، Adobe
- 1 2 شرائح Stage3D غير مدعومة، برامج تشغيل، Flash Player 11، AIR 3 ، مساعدة Adobe
- ↑ مات فيشر (2013). HTML5 لمطوري فلاش . دار نشر باكت المحدودة. § Stage3D مقابل WebGL، ص 91. ISBN 978-1-84969-333-2.
- 1 2 3 "مقارنة أداء Stage3D وWebGL - Airtight Interactive" . Airtightinteractive.com. 28-10-2011 . تم الاطلاع عليه بتاريخ 4-8-2014 .
- ↑ جوزيف لابريك (2011). ما الجديد في Adobe AIR 3. دار نشر أورايلي ميديا، الصفحات 17-26 . ISBN 978-1-4493-1108-7.
- ↑ ريمي أرنو (2011). "ثلاثي الأبعاد في متصفح الويب". في إريك لينجيل (محرر). جواهر محركات الألعاب 2. مطبعة سي آر سي. الصفحات 207-212 . ISBN 978-1-56881-437-7.
- 1 2 كريستر كيتيلا (2011). Adobe Flash 11 Stage3D (Molehill) دليل برمجة الألعاب للمبتدئين . Packt Publishing Ltd. ISBN 978-1-84969-169-7.
- ↑ "ما هو AGAL | اتصال مطوري Adobe" . Adobe.com. 10-10-2011 . تم الاطلاع عليه بتاريخ 04-08-2014 .
- ↑ واغنر جيمس أو (2012). أسرار تصميم الألعاب . جون وايلي وأولاده. ص 130. ISBN 978-1-118-46391-8.
- ↑ "أدوبي فلاش 11 يعتمد محرك أنريل 3 لتحسين ألعاب المتصفح | ذا فيرج" . theverge.com. 7 أكتوبر 2011. تاريخ الاطلاع: 4 أغسطس 2014 .
- ↑ "تسليط الضوء على الأدوات: CopperCube 4.0" . MCV . evelop-online.net. 2014-05-28 . تم الاطلاع عليه بتاريخ 2014-09-22 .
- ↑ كيث جلادستين (2013). تطوير ألعاب الفلاش في عالم اجتماعي، متنقل، وثلاثي الأبعاد . سينجايج ليرنينج. الصفحات 383-421 . ISBN 978-1-4354-6021-8.
- 1 2 تيبو إمبير (2012). تقديم ستارلينج . أورايلي ميديا، إنك. ISBN 978-1-4493-2089-8.
- ↑ ريكس فان دير سبوي (2012). تصميم ألعاب فاونديشن باستخدام أكشن سكريبت 3.0 . دار نشر أبريس. ص 641. ISBN 978-1-4302-3993-2.
- ↑ تيبو إمبير (4 ديسمبر 2012) تقديم أدوات تطوير الألعاب (Gaming SDK، Adobe Scout، FlasCC)
- ↑ "Adobe Gaming SDK" . creative.adobe.com . تم الاطلاع عليه بتاريخ 4 أغسطس 2014 .
- 1 2 3 4 5 خارطة طريق أدوبي فلاش ، أدوبي
- ١ ٢ ثم وصلت الميزات المميزة ( مؤرشف بتاريخ ٥ فبراير ٢٠١٥ في أرشيف الإنترنت ، مدونة ASV Guy)
- ↑ تحديث: ميزات مميزة لبرنامج Flash Player وAdobe AIR ومدونة FP
- ↑ إمبرت، تيبو. "تقديم مشغل فلاش 11.4/AIR 3.4 بيتا!" . بايت أراي.
- ↑ "Stage3D" . scratch.mit.edu . تم الاطلاع عليه بتاريخ 2014-08-05 .
- ↑ Adobe Flash Player 11.8 - خطأ رقم 3591185: تدهور أداء مُظلِّل Pixel Bender بشكل كبير في FP11.8. تم إغلاقه باعتباره "لن يتم إصلاحه أبدًا". مؤرشف بتاريخ 22 أبريل 2014 في Wayback Machine
- ↑ "النسيج المضغوط في Stage3D - تقديم حزمة تطوير البرامج ATF - ByteArray.org" . bytearray.org . تم الاطلاع عليه بتاريخ 4 أغسطس 2014 .
- 1 2 3 4 5 البدء باستخدام Adobe Scout ، Adobe Developer Connection
- 1 2 3 4 5 ما هو AGAL ، اتصال مطوري Adobe
- ↑ تقنية رسم الخرائط المتداخلة لتحسين ملمس الأسطح في برنامج Stage3D ، Adobe Developer Connection
- ↑ جلسة : فلاش إلى أقصى حد! رسومات ثلاثية الأبعاد عالية الأداء في Silent Hunter Online، مؤرشفة بتاريخ 28 أغسطس 2021 في Wayback Machine ، مؤتمر مطوري الألعاب أوروبا 2013
- 1 2 FLSL مؤرشف بتاريخ 14 يناير 2023 في Wayback Machine ، ويكي Flare3D
- ↑ لا يزال HLAG في مرحلة تجريبية (ألفا). مؤرشف بتاريخ 2022-07-02 على موقع Wayback Machine الإلكتروني ، موقع أداة HLAG
- ↑ كرايتك، سايلنت هانتر أونلاين تتحدث عن الإضافات الأخيرة إلى مؤتمر مطوري الألعاب الأوروبي 2013 ، غاماسوترا ، "محرك عرض وحدة تحكم C++ في أدوبي فلاش باستخدام أكشن سكريبت/ستيج ثري دي واستخدام AGAL للتأثيرات الرسومية مثل عرض المحيط"
روابط خارجية
- مقالات Stage3D على موقع Adobe Developer Connection
- "تطوير ألعاب ثلاثية الأبعاد لألعاب فلاش وألعاب الفيديو" . adobe.com . تم الاطلاع عليه بتاريخ 4 أغسطس 2014 .
- "كيف يعمل برنامج Stage3D" . adobe.com . تم الاطلاع عليه بتاريخ 17-09-2014 .
- "بناء لعبة فلاش ثلاثية الأبعاد باستخدام Flare3D وStage3D" . adobe.com . تاريخ الاسترجاع: 17 سبتمبر 2014 .
- "إنشاء ألعاب وتطبيقات ثلاثية الأبعاد باستخدام Away3D 4 وStage 3D" . adobe.com . تاريخ الاطلاع: 17 سبتمبر 2014 .
- "ما هو AGAL؟" . adobe.com . تم الاطلاع عليه بتاريخ 17-09-2014 .
- "إضافة محتوى ثلاثي الأبعاد إلى لعبة فلاش الخاصة بك بسرعة وسهولة" . adobe.com . تم الاطلاع عليه بتاريخ 17-09-2014 .
- "تقديم إطار عمل Starling ثنائي الأبعاد" . adobe.com . تم الاطلاع عليه بتاريخ 17-09-2014 .
- "مُظلِّلات الرؤوس والقطع" . adobe.com . تم الاطلاع عليه بتاريخ 17-09-2014 .
- "تقنية رسم الخرائط المتداخلة لتحسين ملمس الأسطح في برنامج Stage3D" . adobe.com . تاريخ الاطلاع: 17 سبتمبر 2014 .
- "محركات ألعاب Stage 3D" . adobe.com . تم الاطلاع عليه بتاريخ 17-09-2014 .
- "البدء باستخدام Adobe Scout" . adobe.com . تم الاطلاع عليه بتاريخ 17-09-2014 .
- "تجميع ألعاب OpenGL باستخدام مُجمِّع Flash C++ (FlasCC)" . adobe.com . تم الاطلاع عليه بتاريخ 17-09-2014 .
- أدوات الترجمة من OpenGL و GLSL :
- "adobe/GLS3D · GitHub" . github.com . تم الاطلاع عليه بتاريخ 2014-08-04 .
- "adobe/glsl2agal · GitHub" . github.com . تم الاطلاع عليه بتاريخ 2014-08-04 .
- واجهات برمجة تطبيقات الرسومات ثلاثية الأبعاد
- أدوبي فلاش
- مكتبات الرسومات
