Web Graphics مسیری طولانی را از زمانی که گرافیک صفحات استاتیک تنها از تصاویر تشکیل شده بود تا به امروز که شاهد انیمیشنهای قدرتمند WebGL هستیم طی کرده است. امکان ایجاد بازیهای آنلاین و همچنین استفاده از امکانات GPU، همگی به لطف وجود امکانات گرافیکی دوبُعدی و سهبُعدی HTML امکانپذیر شدهاند و در حال حاضر هم موتور Webkit مرورگرها جهت استفادهٔ حداکثری از توان پردازشی GPU روی کار آمده است. آنچه در این مقاله قصد داریم ارائه دهیم، تاریخچهای مختصر از گرافیک وب از دیروز تا به امروز است.
ورود WebKit
در گذشتهای نهچندان دور، طراحان سایت از تکنولوژیهای استاندارد وب برای ایجاد محتوایی استاتیک استفاده میکردند و تنها امکانات گرافیکی که در آن زمان برای جذب مخاطب وجود داشت، تصاویر موجود در متن بودند. به آرامی امکانات جدیدی که به واسطهٔ #جاوااسکریپت فراهم شده بودند، توسط دولوپرها مورد استفاده قرار گرفتند. در این زمان تقاضای زیادی برای یک API که کاملاً قابل برنامهنویسی باشد مطرح شد به طوری که با استفاده از این API، امکان اینکه اسکریپتهای تحت وب بتوانند بدون نیاز به یک تصویر گرافیک قابلقبولی را ایجاد کنند، فراهم گردد.
همچنین با گذشت زمان، تکنولوژیهایی که برای زیباتر جلوه دادن مطالب استفاده میشد، بهبود چشمگیری یافتند و چیزهایی مثل Canvas در HTML5 و همچنین ایپیای رِندر دوبُعدی در WebKit توسعه داده شدند و از آن پس، امکان استفاده از این عناصر در مرورگرهایی که از WebKit استفاده مینمودند، فراهم شد.
ورود WebGL
در آن زمان، اکثر بازیهای کامپیوتری برای ایجاد گرافیک سهبُعدی خیرهکننده از توان پردازشی GPU استفاده میکردند؛ بنابراین نیاز به استفاده از گرافیک سهبُعدی در مرورگرها به وجود آمد؛ به همین دلیل، آزمایشهایی به رهبری Mozilla و Opera برای به نمایش گذاشتن گرافیک سهبُعدی برای عناصر Canvas انجام شد. بسیار هیجانانگیز بود که همهٔ مرورگرها میتوانستند از آن استفاده کنند. در واقع، همه مرورگرها برای اینکه WebGL (استانداردی که امکان استفاده از گرافیک سهبُعدی را در وب فراهم میکرد.) ایجاد شود، شروع به همکاری نمودند.
WebGL بر اساس OpenGL ES ساخته شده است که یک API کراسپلتفرم (امکان استفاده بر روی کلیهٔ سیستمعاملها) میباشد که با هدف فراهم آوردن امکانات گرافیکی برای سیستمهای اِمبِدِد توسعه یافته است. شاید پروسهٔ استاندارد شدن این تکنولوژی یکی از هموارترین پروسههای استاندارد شدن باشد به این دلیل که خوشبختانه مرورگرها بر روی سیستمهایی اجرا میشدند که از OpenGL پشتیبانی میکردند.
WebGL قدرت پردازندههای گرافیکی را در اختیار برنامهنویسان وب قرار داد و با توجه به اینکه اکثر مرورگرهای موجود از این تکنولوژی پشتیبانی میکنند، این تکنولوژی امکان ایجاد بازیهای گرافیکی با کیفیتی همچون گرافیک کنسولهای بازی را برای استفاده در وب فراهم میکند. لایبرریهایی نیز در حال توسعه برای استفادهٔ بهتر از این تکنولوژی توسعه یافتهاند که میتوان در این میان به ThreeJS که هماکنون در حال رشد و بهبود یافتن است اشاره نمود.
در ادامهٔ این روند، یکسری API سطح پایین همچون Direct3D توسط مایکروسافت و Metal توسط اپل برای بهبود استفاده از GPU توسعه داده شدند. درست است که مواردی از این دست که توسط این دو غول فناوری عرضه شدند عملکرد بهتری نسبت به OpenGL دارند، ولی احتمالاً همانطور که ممکن است حدس زده باشید، متأسفانه امکان استفاده از آنها به صورت کراسپلتفرم و بر روی سایر سیستمعاملها وجود ندارد یا با دشواری همراه است!
به منظور ایجاد خروجی گرافیکی جدید و متنوع از یکسو و همچنین بهکارگیری توان پردازشی مربوط به تکنولوژیهای GPU از سوی دیگر، WebKit اقدام به مطرح نمودن یک استاندارد جدید کرد که امکانات سطح پایین را برای بهبود عملکرد پردازش گرافیکی را در اختیار برنامهنویسان قرار میدهد. همچنین این API با استانداردهای جدید وب همچون WebVR و WebAssembly سازگار است.