ثري.جي إس

** ثري.جي إس**  هي مكتبة جافا سكريبت تستخدم مع متصفحات الويب وواجهة برمجة تطبيقات (API) ولإنشاء رسومات كمبيوتر متحركة ثلاثية الأبعاد وعرضها في مستعرض ويب باستخدام ويب جي إل . الكود الأصلي موجود في مستودع على غيت هاب .

## نظرة عامة
تسمح ثري.جي إس بإنشاء رسوم متحركة ثلاثية الأبعاد يتم تسريعها باستخدام وحدة المعالجة الرسومية (GPU) باستخدام لغة جافاسكريبت كجزء من موقع ويب دون الاعتماد على المكونات الإضافية للمتصفح . هذا ممكن بسبب ظهور تقنية الـوب جي إل،  وهو واجهة برمجة تطبيقات ( API ) رسومية منخفضة المستوى تم إنشاؤها خصيصًا للويب.

تتيح المكتبات عالية المستوى مثل ثري.جي إس أو GLGE و سين جي إس و فيلو جي إل وغيرها الكثير إمكانية تأليف رسوم متحركة معقدة ثلاثية الأبعاد للكمبيوتر لعرضها في المتصفح دون بذل الجهد المطلوب لتطبيق تقليدي مستقل أو إضافة للمتصفح.

## التاريخ
تم إصدار ثري.جي إس لأول مرة بواسطة ريكاردو كابيلو على غيت هاب في أبريل 2010. يمكن إرجاع أصول المكتبة إلى مشاركته في الديموسين في أوائل القرن الحادي والعشرين. تم تطوير الكود في الأصل بلغة أكشن سكربت التي يستخدمها أدوبي فلاش، ثم تم نقله لاحقًا إلى جاقا سكريبت في عام 2009. في ذهن كابيبلو ، كانت هناك نقطتان قويتان بررتا تخليه عن أكشن سكريبت: أولاً، قدمت جافا سكريبت استقلالية أكبر للنظام الأساسي. ثانيًا، لن تحتاج التطبيقات المكتوبة بلغة جافاسكريبت إلى أن يجمعها المطور مسبقًا، على عكس تطبيقات فلاش.

تشمل المساهمات الإضافية من كابيلو تصميم آبي، وكانفا رينديرير، وSVGRenderer، كونها مسؤولة عن دمج الـ Commits من قبل المساهمين المختلفين في المشروع.

مع ظهور وب جي إل، تمكن بول برنت من تنفيذ تقنية العرض الجديدة بسهولة تامة حيث تم تصميم ثري.جي إس باستخدام كود العرض كـمودل وليس كإضافة جوهره. بدأ Branislav Uličný ، أحد المساهمين الأوائل، بـ ثري.جي إس في عام 2010 بعد أن نشر عددًا من عروض وب جي إل التوضيحية على موقعه الخاص. لقد أراد إمكانات عارض وب جي إل في ثري.جي إس لتتجاوز قدرات CanvasRenderer أو SVGRenderer. تشمل مساهماته الرئيسية بشكل عام المواد والتظليل والمعالجة اللاحقة.

بعد فترة وجيزة من تقديم وب جي إل 1.0 على فايروفوكس 4 في مارس 2011 ، انضم جوشوا كو. قام ببناء أول عرض توضيحي لـ ثري.جي إس للنص ثلاثي الأبعاد في سبتمبر 2011. غالبًا ما تتعلق مساهماته بتوليد الهندسة.

لدى ثري.جي إس أكثر من 1500 مساهم على غيت هاب.

## الميزات
يتضمن ثري.جي إس الميزات التالية:

* التأثيرات.
* المشاهد: إضافة وإزالة الكائنات في وقت التشغيل ؛ ضباب
* الكاميرات: المنظور والحركات. وحدات التحكم: كرة التتبع و FPS والمسار والمزيد
* الرسوم المتحركة: التركيبات ، الحركية إلى الأمام ، الحركية العكسية ، التحويل ، والإطار الرئيسي
* الأضواء: الأضواء المحيطة ، والاتجاه ، والنقطة ، والنقطة ؛ الظلال: يلقي ويستقبل
* المواد: لامبرت وفونج والتظليل الناعم والقوام والمزيد
* Shaders: الوصول إلى إمكانات OpenGL Shading Language ( GLSL ) الكاملة: توهج العدسة ، وتمرير العمق ، ومكتبة ما بعد المعالجة الشاملة
* الكائنات: الشبكات والجزيئات والعفاريت والخطوط والشرائط والعظام والمزيد - كل ذلك بمستوى التفاصيل
* الهندسة: المستوى ، المكعب ، الكرة ، الحلقة ، النص ثلاثي الأبعاد ، والمزيد ؛ المعدلات: مخرطة ، بثق ، وأنبوب
* برامج تحميل البيانات: ثنائي ، وصورة ، و JSON ، ومشهد
* الأدوات المساعدة: مجموعة كاملة من وظائف الوقت والرياضيات ثلاثية الأبعاد بما في ذلك frustum ، و matrix ، و quaternion ، و UVs ، والمزيد
* التصدير والاستيراد: أدوات مساعدة لإنشاء ملفات JSON متوافقة مع Three.js من الداخل: Blender و openCTM و FBX و Max و OBJ
* الدعم: وثائق API قيد الإنشاء. المنتدى العام وويكي يعملان بشكل كامل.
* أمثلة: أكثر من 150 ملفًا من أمثلة الترميز بالإضافة إلى الخطوط والنماذج والأنسجة والأصوات وملفات الدعم الأخرى
* تصحيح الأخطاء: Stats.js ،  WebGL Inspector ،  Three.js Inspector 
* الواقع الافتراضي والواقع المعزز عبر WebXR 

يعمل Three.js في جميع المتصفحات التي يدعمها WebGL 1.0.

يتم توفير Three.js بموجب ترخيص MIT .

## أنظر أيضا

* إطار عمل جافا سكريبت
* مكتبة جافا سكريبت

## مراجع

## قراءة متعمقة

* 
* 
*  - "Three.js can make game development easier by taking care of low-level details"
* 
* 

## روابط خارجية

* 
* ThreeJS Journey - Learning WebGL with Three.js

تصنيف:برمجيات تستخدم رخصة إم آي تي
تصنيف:مكتبات جافا سكريبت
تصنيف:برمجيات مجانية للرسوميات ثلاثية الأبعاد
تصنيف:برمجيات متعددة المنصات
تصنيف:برمجيات 2010