کتابخانه three جاوااسکریپت
Three.js یک کتابخانه بین مرورگر جاوا اسکریپت و رابط برنامه نویسی برنامه (API) است که برای ایجاد و نمایش گرافیکهای کامپیوتری متحرک سه بعدی در یک مرورگر وب با استفاده از WebGL استفاده میشود. کد منبع در یک مخزن در GitHub میزبانی میشود.
کتابخانه three جاوااسکریپت
موارد استفاده از Three.js
Three.js امکان ایجاد انیمیشنهای سه بعدی با شتاب واحد پردازش گرافیکی (GPU) را با استفاده از زبان جاوا اسکریپت به عنوان بخشی از یک وب سایت بدون تکیه بر افزونههای اختصاصی مرورگر فراهم میکند. این به دلیل ظهور WebGL امکان پذیر است، یک API گرافیکی سطح پایین که به طور خاص برای وب ایجاد شده است. کتابخانههای سطح بالا مانند Three.js یا GLGE، Scene.js ،PhiloGL، و بسیاری دیگر این امکان را فراهم میکنند که انیمیشنهای پیچیده رایانهای سه بعدی برای نمایش در مرورگر بدون تلاش لازم برای یک برنامه کاربردی مستقل سنتی یا یک افزونه ایجاد شود.
تاریخچه Three.js
Three.js اولین بار توسط Ricardo Cabello در GitHub در آوریل 2010 منتشر شد. ریشههای این کتابخانه را میتوان به مشارکت او با دموسسن در اوایل دهه 2000 ردیابی کرد. این کد ابتدا به زبان اکشن اسکریپت مورد استفاده ادوبی فلش توسعه داده شد و بعداً در سال 2009 به جاوا اسکریپت منتقل شد. در ذهن کابلو، دو نقطه قوت وجود داشت که فاصله گرفتن از اکشن اسکریپت را توجیه میکرد: اول اینکه، جاوا اسکریپت استقلال پلتفرم بیشتری را فراهم میکرد. ثانیاً، برنامههایی که با جاوا اسکریپت نوشته شدهاند، برخلاف برنامههای فلش، نیازی به کامپایل شدن توسط توسعهدهنده از قبل ندارند. سایر ابزارهای کمکی توسط Cabello شامل طراحی API ،CanvasRenderer ،SVGRenderer و مسئولیت ادغام تعهدات توسط مشارکت کنندگان مختلف در پروژه است.
با ظهور WebGL ،Paul Brunt توانست فناوری رندر جدید را به راحتی پیاده سازی کند، زیرا Three.js با کد رندر به عنوان یک ماژول به جای خود هسته طراحی شده بود Branislav Uličný، یکی از اولین همکاران، در سال 2010 پس از ارسال تعدادی دمو WebGL در سایت خود، با Three.js شروع به کار کرد. او میخواست که قابلیتهای رندر WebGL در Three.js از CanvasRenderer یا SVGRenderer فراتر رود. مشارکتهای عمده او عموماً شامل مواد، سایه بانها و پس پردازش است. بلافاصله پس از معرفی WebGL 1.0 در فایرفاکس 4 در مارس 2011، جاشوا کو وارد کار شد. او اولین نسخه ی نمایشی Three.js خود را برای متن سه بعدی در سپتامبر 2011 ساخت.
امکانات جذاب Three.js
Three.js شامل ویژگیهای زیر است:
- افکتها: Anaglyph ،cross-eyed، parallax barrier
- اضافه کردن و حذف اشیاء در زمان اجرا
- دوربینها: پرسپکتیو و آتوگرف.
- کنترلرها: ترکبال، FPS، مسیر و مواردی از این قبیل.
- انیمیشن: آرمیچرها، سینماتیک رو به جلو، سینماتیک معکوس، مورف و فریم کلیدی.
- نورها: نورهای محیطی، جهت نور، نور نقطهای و نور متمرکز و همچنین سایهها.
- متریال: Lambert، Phong، شیدینگ ملایم، بافت و بسیاری موارد دیگر.
- Shaders: دسترسی به قابلیتهای OpenGL Shading Language (GLSL):
- lens flare
- depth pass
- extensive post-processing library
- اشیاء و آبجکتها: همه موارد زیر با جزئیات کامل:
- meshes
- particles
- sprites
- lines
- ribbons
- bones
- هندسه جئومتریک: صفحه، مکعب، کره، متون سه بعدی و موارد دیگر
- ایمپورت و اکسپورت: native serialization/deserialization via JSON, glTF, OBJ, USDZ
- ابزارهای کاربردی: مجموعه کامل زمان و توابع ریاضی سه بعدی از جمله فروستوم، ماتریس، کواترنیون، UV و موارد دیگر
ارسال پاسخ