تکنولوژی WebGL چیست؟

تکنولوژی WebGL چیست؟
  • طراحی سایت اصفهان سایت
  • 1401/05/13

تکنولوژی WebGL چیست؟

WebGL استانداردی برای پیاده‌سازی گرافیک کامپیوتری سه‌بعدی در وب است. ممکن است برخی از افرادی که با یک کتابخانه رندرینگ گرافیک (Graphics Rendering) آشنایی دارند، چیزهایی راجع‌به WebGL شنیده باشند و حالا این سوال برایشان به وجود آمده است که WebGL چیست ؟

در این نوشته، به این سوال پاسخ داده شده است و علاوه بر آن، پیرامون سایر مباحث مربوط به WebGL، از جمله OpenGL، رندرینگ شتاب‌یافته با GPU، تاریخچه، کاربردها، کتابخانه‌ها و فریم‌ورک‌های WebGL بحث شده است. از همه مهم‌تر، آموزش وب جی ال در سطح مقدماتی و به بیان ساده در این مطلب پوشش داده شده است. 

تکنولوژی WebGL

WebGL مخفف Web Graphics Library می باشد که یک کتابخانه ی JavaScript است که با آن می توان اشیاء تعاملی دو بعدی و سه بعدی ایجاد کرد. Web GL با تمام مرورگر ها سازگار است و تکنولوژی ای cross-platform است، برای رندر کردن تصاویر مستقیما از کارت گرافیک استفاده می کند.

پس بهتر است برای دریافت تصاویر بهتر همیشه درایور کارت گرافیک خود را به آخرین نسخه ی موجود بروز رسانی کنید. WebGL به هیچ نرم افزار خاص یا پلاگینی وابسته نیست و فقط با استفاده از HTML5 و JavaScript می توان آن را پیاده سازی کرد. پیش از این گرافیک سه بعدی محدود به کنسول های بازی و یا کامپیوتر های سطح بالا بود ولی امروزه با پیشرفت کامپیوتر های شخصی و مرورگر های اینترنت ، نمایش گرافیک سه بعدی از طریق تکنولوژی های مدرن و شناخته شده ی وب امکان پذیر است.

تکنولوژی WebGL چیست ؟

WebGL (Web Graphics Library) در اصل یکLibrary است که به شما اجازه می دهد تا گرافیک ۳ بعدی ایجاد کنید بطوری که با استفاده از بخشی از منابع کامپیوتر شما بصورت زنده رندر شود. Web GL یک تکنولوژی built-in در مرورگرهای جدید است و می‌توان بدون نیاز به هیچ افزونه یا Library خاصی آن را در مرورگر مشاهده کرد.

این تکنولوژی کاملا Client Side بوده و بر روی مرورگر کاربر اجرا می شود.WebGL یک Javascript API برای رندر کردن گرافیک ۳ بعدی و ۲ بعدی با هر یک از مرورگرهای سازگار است و با هریک از استانداردهای مرورگر که اجازه استفاده از GPU و پردازش تصویر را بدهد به راحتی مجتمع می شود.

اگرچه قابل استفاده بودن آن بستگی به این دارد که آیا کارت گرافیک سیستم مربوطه از آن پشتیبانی می کند یا خیر. با کلیک بر روی این لینک و ورد به سایت رسیمی Web GL می توانید بررسی کنید که آیا مرورگر و سیستم شما از این تکنولوژی پشتیبانی می کند یا خیر.

مزایای NFV

به شما پیشنهاد می شود برای کسب اطلاعات بیشتر مقاله ما با موضوع جاوا اسکریپت چیست را مطالعه نمایید.المان های WebGL را می توان با دیگر المان های html5 ترکیب کرد و آن را در بخش های مختلف صفحات به کار برد به شما پیشنهاد می شود برای کسب اطلاعات بیشتر مقاله ما با موضوع html5 چیست را مطالعه نمایید.

برنامه های WebGL شامل کد های کنترل هستند که تحت Java نوشته می شوند و کدهای Shader آن نیز توسط کارت گرافیک کامپیوتر اجرا می شوند. WebGL یک تکنولوژی تحت JavaScript از OpenGL است که از Canvas Element برای نمایش محتوا استفاده می کند.

Web GL بر مبنای یکی از زیرمجموعه های OpenGL به نام۲.۰ OpenGL ES است که ویژه دستگاه های موبایل ساخته شده است. لذا WebGL با هر پلتفرمی که از Open GL پشتیبانی کند کار می کند.WebGL از OpenGL ES 2.0 مشتق شده و توابع رندر مشابه با آن را ارایه می کند اما در قالب محتوای html. به عبارت دیگر WebGL برای رندر کردن المان های Canvas در HTML طراحی شده است.

ضمن اینکه ویژگی بلادرنگ بودن (پردازش در لحظه) آن همانند دیگر API های تحت وب است. با این توصیف، به خاطر اینکه Web GL ویژگی های خود را از OpenGL ES 2 به ارث می برد، برای برنامه نویسانی که با Open GL در کامپیوترهای دسکتاپ و یا کد نویسی وب تحت OpenGl ES آشنا هستند و می خواهند وارد حوزه WebGL شوند مسیر آشنایی است.

حال با در نظر گرفتن اینکه در حال حاضر گزینه های زیادی برای طراحی ۳ بعدی وجود دارد (مانند انواع CSS ها، Canvas ، SVG و افزونه هایی مانند Silverlight و Flash) شاید از خود بپرسید که WebGL چطور می تواند جایگزینی برای آنها باشد و چرا شما باید آن را یاد بگیرید.اگر شما با هیچ یک از این زبانها و تکنولوژی آشنا نیستید بهتر است از سایت فروشگاه ساز ایران هاست استفاده نمایید.

تاریخچه WebGL

WebGL از تجربیات و آزمایشات Canvas سه بُعدی پدید آمد و آغازگر آن ولادمیر وُکیچیویچ (Vladimir Vukićević) از شرکت موزیلا است. وُکیچیویچ ابتدا یک نمونه اولیه Canvas سه‌بُعدی را در سال ۱۳۸۵ به نمایش گذاشت. تا اواخر سال ۱۳۸۶ هم موزیلا و هم اوپِرا، پیاده‌سازی جداگانه مربوط به خودشان را از Canvas سه‌بُعدی ساخته بودند.

در اواسط سال ۱۳۸۷، کنسرسیوم غیرانتفاعی به نام «گروه کرونوس» (Khronos Group)، «کارگروه WebGL» را راه‌اندازی کردند. قواعد و مشخصه‌های نسخه شماره یک (1.0) WebGL با مشارکت اولیه اپل، گوگل، موزیلا، اوپرا و سایرین در ابتدای سال ۱۳۹۰ منتشر شد. از اوایل سال ۱۳۹۱، کِن راسل (Ken Russel) ریاست کارگروه WebGL را برعهده دارد.

از جمله‌ کاربردهای ابتدایی WebGL می‌توان به ZygoteBody اشاره کرد که یک وب اپلیکیشن برای رندر سه‌بُعدی مدل‌های آناتومی بدن انسان و حیوانات به شمار می‌رود. در اواسط سال ۱۳۹۱ شرکت Autodesk اعلام کرد که آن‌ها بیش‌تر اپلیکیشن‌های خود را به فضای ابری منتقل کرده‌اند که قابل اجرا روی کلاینت‌های محلی WebGL است.

این برنامه‌ها شامل Fusion 360 و AutoCAD 360 می‌شود. توسعه مشخصه‌های نسخه دوم WebGL در سال ۱۳۹۲ آغاز و انتشار نهایی آن در اواخر سال ۱۳۹۵ انجام شد. این نسخه، مبتنی بر OpenGL ES 3.0 است. اولین پیاده‌سازی‌های آن در فایرفاکس ۵۱، کروم ۵۶ و اوپرا ۴۳ اتفاق افتاد. به این ترتیب تاریخچه کلی از فناوری WebGL ارائه شد. در ادامه مطلب «WebGL چیست» شرح مختصری از کاربردهای WebGL ارائه شده است.

مزایای NFV

کاربردهای WebGL چه هستند ؟

WebGL به توسعه‌دهندگان این امکان را می‌دهد تا تصاویر گرافیکی سه‌بعدی در مرورگر خلق کنند. می‌توان WebGL‌ را در موزیک ویدئو، بازی‌های کامپیوتری، مصورسازی داده، کارهای هنری، محیط‌های طراحی سه‌بعدی، مدل‌سازی سه‌بعدی فضا، مدل‌سازی سه‌بعدی اشیا، رسم توابع ریاضی یا ایجاد شبیه‌سازی‌های تجسمی به کار گرفت.

چطور می‌توان WebGL ‌را اجرا کرد ؟

برای دسترسی به محتوای تولید شده با WebGL نیاز به مرورگری وجود دارد که از WebGL پشتیبانی کند. WebGL به میزان گسترده‌ای به وسیله مرورگرهای امروزی پشتیبانی می‌شود. اگرچه، در دسترس بودن آن به موارد دیگری از جمله پشتیبانی GPU نیز بستگی دارد.

وب‌سایت رسمی WebGL یک صفحه آزمایش رسمی برای این منظور فراهم کرده است. در ادامه مطلب «WebGL چیست» به ارائه فهرستی از مرورگرهایی پرداخته شده است که می‌توانند کدهای مربوط به WebGL را رندر کنند و تصاویر ساخته شده با آن را نمایش دهند.

مرورگرهای پشتیبانی کننده از WebGL

در این بخش از مطلب «WebGL چیست»، فهرستی از مرورگرهایی آمده است که از اجرای WebGL پشتیبانی می‌کنند. ابتدا، فهرستی از مرورگرهای دسکتاپ و اطلاعاتی پیرامون نحوه پشتیبانی آن‌ها از WebGL ارائه و پس از آن، همین کار برای مرورگرهای موبایل انجام شده است.

مرورگرهای دسکتاپ

  • گوگل کروم:

WebGL 1.0 از اواخر سال ۱۳۸۹ در تمام پلتفرم‌هایی فعال شده است که دارای کارت گرافیک قادر به رندر کردن WebGL باشند. در ویندوز، کروم به صورت پیش‌فرض از رندر کننده ANGLE (موتور لایه گرافیکی شبه محلی) برای ترجمه «OpenGL ES» به «Direct X 9.0c» استفاده می‌کند.

اگرچه، در لینوکس و Mac OS X رندر کننده پیش‌فرض OpenGL است. همچنین، در ویندوز این امکان وجود دارد که به اجبار OpenGL را به عنوان رندر کننده تعیین کرد. از اواسط سال ۱۳۹۲ کروم رندر کننده جدیدتر Direct3D 11 را به کار می‌برد که در هر صورت نیازمند یک کارت گرافیک جدیدتر است. از نسخه ۵۶ به بعد، کروم از WebGL 2.0 پشتیبانی می‌کند.

  • موزیلا فایرفاکس:

WebGL 1.0 از نسخه 4.0 موزیلا در تمامی پلتفرم‌هایی فعال است که دارای کارت گرافیک لازم به همراه درایورهای به‌روز شده باشد. از سال ۱۳۹۲ فایرفاکس در پلتفرم ویندوز به وسیله ANGLE از DirectX هم پشتیبانی می‌کند. همچنین، فایرفاکس از نسخه ۵۱ به بعد از WebGL 2.0 پشتیبانی می‌کند.

  • سافاری:

Safari 0.6 و نسخه‌های جدیدتری که در سیستم عامل Mac OS X Lion ،OS X Mountain Lion و سافاری نسخه ۵.۱ در Mac OS X Snow Leopard پشتیبانی برای WebGL 1.0 را پیاده‌سازی کرده‌اند. این پشتیبانی قبل از سافاری ۸ غیرفعال شده بود. در حال حاضر، سافاری نسخه ۱۲ که در سیستم عامل MacOS Mojave به صورت پیش‌فرض نصب شده، پشتیبانی برای WebGL 2.0 را به عنوان یک قابلیت آزمایشی در دسترس قرار داده است.

  • اوپرا:

WebGL 1.0 در اوپرا ۱۱ و ۱۲ پیاده‌سازی شده است، اگر چه در سال ۱۳۹۳ به صورت پیش‌فرض غیرفعال بود. نسخه ۴۳ به بعد اوپرا از WebGL 2.0 پشتیبانی می‌کند.

  • اینترنت اکسپلورر:

WebGL 1.0 تا حدودی در اینترنت اکسپلورر ۱۱ پشتیبانی می‌شود. در ابتدا، IE در اکثر تست‌های انطباق رسمی WebGL شکست خورد، اما بعدتر مایکروسافت به‌روزرسانی‌های بسیاری را منتشر کرد. نسخه 0.94 موتور WebGL تقریباً‌ تا ۹۷ درصد از آزمایش‌های کرونوس را با موفقیت پشت سر گذاشته است.

همچنین، امکان اضافه کردن پشتیبانی WebGL‌ به نسخه‌های قدیمی‌تر اینترنت اکسپلورر به صورت دستی با استفاده از افزونه‌های شخص ثالث نظیر EWebGL وجود دارد.

  • مایکروسافت اج:

نسخه پایدار اولیه اج از WebGL نسخه 0.9۵ (نام زمینه: “experimental-webgl”) با زبان GLSL متن‌باز و کامپایلر مبدأ به مبدأ HLSL پشتیبانی می‌کند.

مرورگرهای موبایل

در این بخش از مطلب «WebGL چیست»، مرورگرهای تلفن همراه پشتیبانی کننده از WebGL به همراه توضیحات لازم فهرست شده است:

  • مرورگر اندروید:

به‌طور کلی از WebGL پشتیبانی نمی‌کند، اما سری Sony Ericsson Xperia قابلیت‌های WebGL را در پی یک به‌روزرسانی ثابت‌افزار (Firmware) ارائه می‌کردند.

  • اینترنت اکسپلورر:

WebGL 1.0 در Windows Phone 8.x در دسترس است.

  • فایرفاکس برای موبایل:

WebGL 1.0 برای دستگاه‌های اندرویدی و MeeGo از نسخه ۴ فایرفاکس در دسترس است.

  • Firefox OS:

وب‌جی‌ال برای سیستم عامل شرکت موزیلا به نام Firefox OS نیز در دسترس است.

مزایای NFV

  • گوگل کروم:

WebGL 1.0 برای دستگاه‌های اندرویدی از نسخه ۲۵ گوگل کروم در دسترس و به صورت پیش‌فرض از نسخه ۳۰ به بعد فعال است .

  • مایکروسافت اج:

WebGL 1.0 در ویندوز ۱۰ موبایل در دسترس است.

  • اوپرا موبایل:

نسخه ۱۲ اوپرا موبایل از WebGL 1.0 (تنها در اندروید) پشتیبانی می‌کند.

  • iOS:

وب‌جی‌ال نسخه ۱ برای سافاری موبایل از iOS 8 در دسترس است.

مزایا WebGL

  • نکته اول اینکه WebGL بر مبنای OpenGL است.از جمله کاربرد OpenGL به عنوان یک فریم ورک برای طراحی اپلیکیشن های ۳بعدی معرفی شده که تا کنون آزمون خود را به خوبی پس داده است.
  • زمان عرضه WebGL همزمان با پیشرفت هایی در عملکرد مرورگرها، افزایش سرعت سیستم ها و ظهور انقلابی JavaScript بوده است.
  • ترکیب پذیری – WebGl می تواند با دیگر تکنولوژی های تحت وب ترکیب شود.
  • Web GL این قابلیت را دارد که بر روی بسیاری از پلتفرم های متفاوت (لینوکس،ویندوز،مکینتاش و . . . ) و انواع مرور گرها اجرا شود. نکته ای که آن را برتر می کند این است که حتی در پلتفرم های دستگاه های موبایل مانند IOS 8 نیز از آن پشتیبانی می شود.
  • یک پروژه کاملا منبع باز است و توسط عرضه کننده خاصی کنترل نمی شود.

تکنولوژی WebGL


برای مشاهده مقالات بیشتر در مورد سئو سایت و طراحی سایت به صفحه مقالات مراجعه نمایید.

  • بازدید: 3
  • پیام: 0

نظر دهید

ایمیل شما منتشر نخواهد شد *

1