Apa itu WebGL™ 3D?

Perpustakaan Grafis Berbasis Web (WebGL™) adalah antarmuka pemrograman abstrak (API) yang dirancang untuk memungkinkan penggunaan grafik tiga dimensi (3D) langsung di browser web tanpa memerlukan perangkat lunak atau plug-in yang terpisah dari browser inti. . Perbedaan antara 3D WebGL™ dan bahasa grafis 3D berbasis browser lainnya — seperti bahasa markup realitas virtual (VRML) — adalah bahwa 3D WebGL™ memungkinkan akses langsung ke unit pemrosesan grafis (GPU) pada kartu tampilan perangkat keras yang ada di komputer. Perbedaan lainnya adalah bahwa 3D WebGL™ bukanlah bahasa yang terpisah tetapi API yang diimplementasikan melalui bahasa skrip JavaScript® yang dipahami secara asli oleh hampir semua browser web. Meskipun jenis akses langsung tingkat rendah ke perangkat keras sistem komputer ini merupakan salah satu kekuatan WebGL™, ini juga merupakan salah satu masalah yang lebih besar, karena menghadirkan serangkaian masalah keamanan yang tidak mudah dipecahkan.

Salah satu perkembangan penting yang memungkinkan 3D WebGL™ adalah pengenalan elemen kanvas dalam spesifikasi HyperText Markup Language versi 5 (HTML5). Elemen kanvas memungkinkan akses tingkat rendah ke area pandang yang dapat digambar dan dipertahankan dalam gaya yang konsisten dengan jenis API rendering yang ada dalam bahasa pemrograman komputer lain. WebGL™ API bekerja dengan kanvas yang dipercepat ini untuk memberikan kemampuan merender adegan kompleks dengan sangat cepat tanpa harus bergantung pada emulasi perangkat lunak di berbagai platform atau implementasi.

3D WebGL™ API tidak hanya menggunakan elemen kanvas, tetapi juga didasarkan pada Open Graphics Library for Embedded Systems (OpenGL ES®). Ini adalah versi portabel dari perpustakaan OpenGL® standar yang dirancang untuk portabel tidak hanya di antara sistem operasi komputer yang berbeda, tetapi juga di semua perangkat yang memerlukan penggunaan grafik 3D tingkat rendah. Jejak kecil ini memungkinkan perpustakaan untuk diintegrasikan ke browser apa pun untuk hampir semua perangkat.

Implementasi 3D WebGL™ memungkinkan pengembangan program interaktif yang dapat dijalankan langsung dari dalam situs web atau diunduh dan dijalankan sebagai aplikasi mandiri dalam browser web. Ini dapat digunakan untuk membuat video game 3D, perangkat lunak pendidikan, simulasi dan perangkat lunak visualisasi 3D untuk bisnis dan penelitian ilmiah. Dengan menggunakan browser sebagai aplikasi pembungkus, lingkungan 3D dapat dikembangkan tanpa harus khawatir tentang kode boilerplate berulang untuk antarmuka dasar.

Salah satu kelemahan terbesar dalam menggunakan 3D WebGL™, dan salah satu yang mencegahnya diterima secara luas oleh perusahaan manufaktur perangkat lunak dan perangkat keras tertentu, adalah risiko keamanan yang ditimbulkannya. Kemampuan suatu program untuk mengakses GPU dapat memberikan program jahat kemampuan untuk memaksa sistem komputer host untuk mengeksekusi kode berbahaya. Juga telah ditunjukkan bahwa serangan penolakan layanan (DOS) dimungkinkan menggunakan API WebGL™. Karena alasan ini, ada beberapa perusahaan komputer besar yang menolak untuk sepenuhnya mendukung WebGL™ dalam produk mereka.