تضامنًا مع حق الشعب الفلسطيني |
مكتبة Three.js
تحتاج هذه المقالة كاملةً أو أجزاءً منها لإعادة الكتابة حسبَ أسلوب أرابيكا. |
Three.js
|
Three.js هي مكتبة JavaScript تستخدم مع متصفحات الويب وواجهة برمجة تطبيقات (API) وتُستخدم لإنشاء رسومات كمبيوتر متحركة ثلاثية الأبعاد وعرضها في مستعرض ويب باستخدام WebGL . تمت استضافة الكود الأصلي في مستودع على GitHub .[3]
نظرة عامة
تسمح Three.js بإنشاء رسوم متحركة ثلاثية الأبعاد يتم تسريعها باستخدام وحدة المعالجة الرسومية (GPU) باستخدام لغة JavaScript كجزء من موقع ويب دون الاعتماد على المكونات الإضافية للمتصفح .[4][5] هذا ممكن بسبب ظهور تقنية الـ WebGL ، [6] وهو واجهة برمجة تطبيقات ( API ) رسومية منخفضة المستوى تم إنشاؤها خصيصًا للويب.[7]
تتيح المكتبات عالية المستوى مثل Three.js أو GLGE و SceneJS و PhiloGL وغيرها الكثير إمكانية تأليف رسوم متحركة معقدة ثلاثية الأبعاد للكمبيوتر لعرضها في المتصفح دون بذل الجهد المطلوب لتطبيق تقليدي مستقل أو إضافة للمتصفح.[8]
التاريخ
تم إصدار Three.js لأول مرة بواسطة Ricardo Cabello على GitHub في أبريل 2010. يمكن إرجاع أصول المكتبة إلى مشاركته في الديموسين في أوائل القرن الحادي والعشرين.[9] تم تطوير الكود في الأصل بلغة ActionScript التي يستخدمها Adobe Flash ، ثم تم نقله لاحقًا إلى JavaScript في عام 2009. في ذهن Cabello ، كانت هناك نقطتان قويتان بررتا التحول عن ActionScript: أولاً ، قدمت JavaScript استقلالية أكبر للنظام الأساسي. ثانيًا ، لن تحتاج التطبيقات المكتوبة بلغة JavaScript إلى أن يجمعها المطور مسبقًا ، على عكس تطبيقات Flash.
تشمل المساهمات الإضافية من Cabello تصميم API ، و CanvasRenderer ، و SVGRenderer ، كونها مسؤولة عن دمج الـ Commits من قبل المساهمين المختلفين في المشروع.
مع ظهور WebGL ، تمكن Paul Brunt من تنفيذ تقنية العرض الجديدة بسهولة تامة حيث تم تصميم Three.js باستخدام كود العرض كـ Module وليس في جوهره.[10] بدأ Branislav Uličný ، أحد المساهمين الأوائل ، بـ Three.js في عام 2010 بعد أن نشر عددًا من عروض WebGL التوضيحية على موقعه الخاص. لقد أراد إمكانات عارض WebGL في Three.js لتتجاوز قدرات CanvasRenderer أو SVGRenderer.[10] تشمل مساهماته الرئيسية بشكل عام المواد والتظليل والمعالجة اللاحقة.
بعد فترة وجيزة من تقديم WebGL 1.0 على Firefox 4 في مارس 2011 ، انضم Joshua Koo. قام ببناء أول عرض توضيحي لـ Three.js للنص ثلاثي الأبعاد في سبتمبر 2011.[11] غالبًا ما تتعلق مساهماته بتوليد الهندسة.
لدى Three.js أكثر من 1500 مساهم على GitHub.[12]
الميزات
يتضمن Three.js الميزات التالية:[13]
- التأثيرات.
- المشاهد: إضافة وإزالة الكائنات في وقت التشغيل ؛ ضباب
- الكاميرات: المنظور والحركات. وحدات التحكم: كرة التتبع و FPS والمسار والمزيد
- الرسوم المتحركة: التركيبات ، الحركية إلى الأمام ، الحركية العكسية ، التحويل ، والإطار الرئيسي
- الأضواء: الأضواء المحيطة ، والاتجاه ، والنقطة ، والنقطة ؛ الظلال: يلقي ويستقبل
- المواد: لامبرت وفونج والتظليل الناعم والقوام والمزيد
- Shaders: الوصول إلى إمكانات OpenGL Shading Language ( GLSL ) الكاملة: توهج العدسة ، وتمرير العمق ، ومكتبة ما بعد المعالجة الشاملة
- الكائنات: الشبكات والجزيئات والعفاريت والخطوط والشرائط والعظام والمزيد - كل ذلك بمستوى التفاصيل
- الهندسة: المستوى ، المكعب ، الكرة ، الحلقة ، النص ثلاثي الأبعاد ، والمزيد ؛ المعدلات: مخرطة ، بثق ، وأنبوب
- برامج تحميل البيانات: ثنائي ، وصورة ، و JSON ، ومشهد
- الأدوات المساعدة: مجموعة كاملة من وظائف الوقت والرياضيات ثلاثية الأبعاد بما في ذلك frustum ، و matrix ، و quaternion ، و UVs ، والمزيد
- التصدير والاستيراد: أدوات مساعدة لإنشاء ملفات JSON متوافقة مع Three.js من الداخل: Blender و openCTM و FBX و Max و OBJ
- الدعم: وثائق API قيد الإنشاء. المنتدى العام وويكي يعملان بشكل كامل.
- أمثلة: أكثر من 150 ملفًا من أمثلة الترميز بالإضافة إلى الخطوط والنماذج والأنسجة والأصوات وملفات الدعم الأخرى
- تصحيح الأخطاء: Stats.js ، [14] WebGL Inspector ، [15] Three.js Inspector [16]
- الواقع الافتراضي والواقع المعزز عبر WebXR [17]
يعمل Three.js في جميع المتصفحات التي يدعمها WebGL 1.0.
يتم توفير Three.js بموجب ترخيص MIT .
أنظر أيضا
- تجارب جوجل كروم
- قائمة أطر عمل WebGL
- إطار عمل جافا سكريبت
- مكتبة جافا سكريبت
مراجع
- ^ أ ب "Three.js/license". github.com/mrdoob. مؤرشف من الأصل في 2023-03-18. اطلع عليه بتاريخ 2012-05-20.
- ^ "First commit". github.com/mrdoob. مؤرشف من الأصل في 2023-03-18. اطلع عليه بتاريخ 2012-05-20.
- ^ Mr.doob (4 مارس 2021)، mrdoob/three.js، مؤرشف من الأصل في 2023-01-08، اطلع عليه بتاريخ 2021-03-04
- ^ O3D
- ^ يونيتي (محرك ألعاب)
- ^ "Khronos Releases Final WebGL 1.0 Specification". Khronos Group. 3 مارس 2011. مؤرشف من الأصل في 2023-01-27. اطلع عليه بتاريخ 2012-06-02.
- ^ "WebGL". The Khronos Group (بEnglish). 19 Jul 2011. Archived from the original on 2023-01-17. Retrieved 2022-01-22.
- ^ Crossley، Rob (11 يناير 2010). "Study: Average dev costs as high as $28m". Intent Media Ltd. مؤرشف من الأصل في 2010-01-13. اطلع عليه بتاريخ 2012-06-02.
- ^ NVScene. "NVScene 2015 Session: Reinventing The Wheel - One Last Time (Ricardo Cabello)". YouTube. مؤرشف من الأصل في 2023-01-27.
- ^ أ ب "Three.js White Paper". Github.com. 21 مايو 2012. مؤرشف من الأصل في 2021-09-28. اطلع عليه بتاريخ 2013-05-09.
- ^ "Three.js White Paper". Github.com. 21 مايو 2012. مؤرشف من الأصل في 2021-09-28. اطلع عليه بتاريخ 2013-05-09."Three.js White Paper".
- ^ Mr.doob (3 أغسطس 2020)، mrdoob/three.js، مؤرشف من الأصل في 2023-01-08، اطلع عليه بتاريخ 2020-08-03
- ^ mrdoob (26 نوفمبر 2012). "Features mrdoob/three.js Wiki GitHub". Github.com. مؤرشف من الأصل في 2021-03-08. اطلع عليه بتاريخ 2013-05-09.
- ^ "Stats.js". Github.com. مؤرشف من الأصل في 2023-03-12. اطلع عليه بتاريخ 2013-05-09.
- ^ "WebGL Inspector". Benvanik.github.com. مؤرشف من الأصل في 2023-03-14. اطلع عليه بتاريخ 2013-05-09.
- ^ "Three.js Inspector Labs". Zz85.github.com. مؤرشف من الأصل في 2023-01-27. اطلع عليه بتاريخ 2013-05-09.
- ^ "three.js examples". threejs.org. مؤرشف من الأصل في 2023-03-15.
قراءة متعمقة
- Dirksen، Jos (2013). Learning Three.js: The JavaScript 3D Library for WebGL. UK: Packt Publishing. ISBN:9781782166283. مؤرشف من الأصل في 2023-01-27.
- Parisi، Tony (2012). Webgl Up and Running. Sebastopol: Oreilly & Associates Inc. ISBN:9781449323578.
- Seidelin، Jacob (2012). HTML5 games : creating fun with HTML5, CSS3, and WebGL. Chichester, West Sussex, U.K: John Wiley & Sons. ص. 412–414. ISBN:978-1119975083. مؤرشف من الأصل في 2022-03-22. - "Three.js can make game development easier by taking care of low-level details"
- Williams، James (2012). Learning HTML5 game programming : a hands-on guide to building online games using Canvas, SVG, and WebGL. Upper Saddle River, NJ: Addison-Wesley. ص. 117–120, 123–131, 136, 140–142. ISBN:978-0321767363. مؤرشف من الأصل في 2022-03-22.
- Raasch، Jon (2011). Smashing WebKit. Chichester: Wiley. ص. 181, 182, 216. ISBN:978-1119999133.
روابط خارجية
مكتبة Three.js في المشاريع الشقيقة: | |