WebGL

**WebGL** (**Web G**raphics **L**ibrary) adalah JavaScript API untuk rendering grafis 3D interaktif dan grafis 2D dalam browser web yang kompatibel tanpa menggunakan plug-in. WebGL terintegrasi sepenuhnya ke semua standar web browser yang memungkinkan penggunaan percepatan GPU fisika dan pengolahan gambar dan efek sebagai bagian dari kanvas halaman web. Elemen WebGL dapat dicampur dengan elemen HTML lainnya dan composited dengan bagian-bagian lain dari latar belakang halaman atau halaman. WebGL program terdiri dari kode kontrol ditulis dalam JavaScript dan kode shader yang dijalankan pada komputer Graphics Processing Unit (GPU). WebGL dirancang dan dipelihara oleh Kelompok Khronos non-profit.

## Desain
WebGL didasarkan pada OpenGL ES 2.0 dan menyediakan sebuah API untuk grafis 3D. Untuk alasan keamanan, GL_ARB_robustness (OpenGL 3.x) atau GL_EXT_robustness (OpenGL ES) diperlukan. Ia menggunakan elemen kanvas HTML5 dan diakses menggunakan antarmuka Document Object Model. Manajemen memori otomatis disediakan sebagai bagian dari bahasa JavaScript.

## Sejarah
WebGL tumbuh dari eksperimen Canvas 3D dimulai oleh Vladimir Vukićević di Mozilla. Vukićević pertama menunjukkan prototipe 3D kanvas pada tahun 2006. Pada akhir tahun 2007, baik Mozilla dan Opera telah membuat implementasi sendiri terpisah.
Pada awal 2009, non-profit teknologi konsorsium Grup Khronos memulai Kelompok Kerja WebGL, dengan partisipasi awal dari Apple, Google, Mozilla, Opera, dan lain-lain. Versi 1.0 dari spesifikasi WebGL dirilis Maret 2011. Pada Maret 2012, ketua kelompok kerja adalah Ken Russell.
Aplikasi awal Terkemuka dari WebGL termasuk Google Maps dan Zygote Body.

## Implementasi
### Browser Desktop
* Mozilla Firefox - WebGL telah diaktifkan pada semua platform yang memiliki kartu grafis yang mampu dengan driver diperbarui sejak versi 4.0. Mozilla Firefox 8.0 dan versi yang lebih baru menggunakan Cross-asal berbagi sumber daya (CORS) untuk mengontrol semua lintas domain tekstur WebGL.
* Google Chrome - WebGL telah diaktifkan pada semua platform yang memiliki kartu grafis yang mampu dengan driver diperbarui sejak versi 9. Google Chrome 13.0 dan versi yang lebih baru menggunakan Cross-asal berbagi sumber daya (CORS) untuk mengontrol semua lintas domain tekstur WebGL.
* Safari - Safari 5.1 dan versi yang lebih baru diinstal pada Mac OS X Lion dan Mac OS X Snow Leopard dukungan diterapkan untuk WebGL, yang dinonaktifkan secara default.
* Opera - WebGL telah diimplementasikan di Opera 11, dan 12 juga dinonaktifkan secara default.
* Internet Explorer - Saat ini, Microsoft tidak berencana untuk mendukung WebGL karena alasan keamanan dan karena itu tidak menjadi standar W3C belum, walaupun dukungan WebGL dapat secara manual ditambahkan ke Internet Explorer menggunakan plugin pihak ketiga seperti Chrome Frame dan IEWebGL.
### Browser Mobile
* Nokia N900 - WebGL tersedia di browser MicroB saham dari PR1.2 seterusnya firmware update.
* BlackBerry PlayBook - WebGL tersedia melalui WebWorks dan browser di PlayBook OS 2.0
* Firefox untuk mobile (en) - WebGL tersedia untuk perangkat Android dalam membangun tidak stabil sejak awal 2011.
* Sony Ericsson Xperia berbagai smartphone Android memiliki kemampuan WebGL setelah upgrade firmware.
* Opera Mobile (en) 12 akhir mendukung WebGL (pada Android saja).
* Tizen 1.0

## Penciptaan Konten
Adegan WebGL dapat dibuat tanpa pemrograman menggunakan alat pembuatan konten seperti Blender atau Autodesk Maya. Adegan tersebut kemudian diekspor ke WebGL. Ini adalah pertama mungkin dengan Inka3D, sebuah plugin ekspor WebGL untuk Maya. Ada juga layanan untuk memublikasikan konten online interaktif 3D menggunakan WebGL seperti p3d.in dan Sketchfab.
Shader WebGL untuk pengolahan gambar dapat dibuat tanpa menggunakan pemrograman Radi, sebuah aplikasi Mac untuk pembuatan konten HTML5.

## Lihat juga
* O3D
* GLSL
* VRML
* X3D
* Java OpenGL