OpenGL®, bahasa grafis terbuka, adalah standar open source dan antarmuka pemrograman abstrak (API) untuk pemrograman grafis tiga dimensi (3D) dalam program komputer. Agar API berfungsi saat dikompilasi dan dijalankan, komputer yang menjalankan program harus menginstal driver OpenGL® yang benar. Ada banyak jenis driver, tetapi semuanya melayani tujuan tunggal untuk bertindak sebagai antarmuka antara kode yang ditulis menggunakan OpenGL® API dan perangkat keras yang merender grafik. Driver OpenGL® tidak dikembangkan atau dirilis oleh orang yang memelihara OpenGL® API; mereka malah dirilis oleh produsen perangkat keras di dalam komputer. Satu-satunya perbedaan, pada kenyataannya, antara berbagai jenis driver OpenGL® adalah kode untuk perangkat keras yang berinteraksi dengannya.
Standar untuk OpenGL® akhirnya menjadi platform yang terpadu dan sederhana dan sebagian besar implementasi fungsi grafis 3D dasar yang tidak bergantung pada bahasa yang dapat digunakan sebagai cara tingkat rendah untuk berinteraksi dengan perangkat keras. Ini berkembang ke arah ini karena semakin banyak API 3D berpemilik yang masing-masing memiliki filosofi desain dan tanda tangan fungsi yang berbeda. API diadopsi oleh pemrogram dan produsen perangkat keras, karena merupakan sumber terbuka dan tidak memerlukan pembelian lisensi untuk menggunakan cara yang dilakukan oleh beberapa sistem operasi lain atau API khusus bahasa.
Driver OpenGL® dasar diproduksi oleh produsen kartu grafis, kartu ekspansi, dan akselerator grafis. Ini berarti setiap driver ditulis sesuai dengan spesifikasi yang tepat dan akurat untuk perangkat keras target, dan perangkat keras tersebut dapat diproduksi dengan pengoptimalan yang ditargetkan ke driver untuk meningkatkan kinerja. Penerimaan luas dari API dan overhead yang relatif rendah yang menyertainya telah menjadikannya pilihan yang berharga untuk aplikasi grafis berkinerja tinggi dan, pada gilirannya, telah mendorong produsen perangkat keras untuk mengupayakan pengoptimalan tingkat rendah untuk melengkapi kinerja itu dengan kartu mereka. .
Menanggapi upaya produsen perangkat keras, pengembang OpenGL® menyediakan mekanisme yang memungkinkan driver untuk mengimplementasikan operasi yang disesuaikan yang dapat dikodekan ke dalam driver OpenGL®. Fitur khusus dari bagian perangkat keras yang berbeda ini dapat disertakan dalam OpenGL® API. Ini akan memungkinkan produsen untuk memiliki kartu grafis yang mendukung fungsi akselerasi perangkat keras, seperti algoritme simulasi fabric, dan memungkinkan OpenGL® API untuk memanggil dan berinteraksi dengan fungsi tersebut. Ekstensi ini menyediakan mekanisme di mana driver dan API OpenGL® dapat menjadi mekanisme yang lancar dan dapat diperluas untuk pemrograman grafis 3D.
Mulai 2011, driver OpenGL® bersifat individual untuk setiap perangkat keras yang mendukung standar. Tidak ada driver tunggal yang terpadu, karena setiap perangkat keras sangat berbeda dan terkadang menggunakan informasi kepemilikan. Ini berarti, meskipun secara teknis ada banyak jenis driver OpenGL® — satu untuk setiap kartu perangkat keras — semuanya menjalankan fungsi yang sama persis dari perspektif pemrograman.