Open Graphics Library® (OpenGL®), öncelikle yazılım uygulamalarının grafik donanımıyla etkileşime girmesini ve üç boyutlu (3D) sahneleri hızlı ve verimli bir şekilde oluşturmasını sağlayan bir programlama arayüzüdür. İki boyutlu (2D) OpenGL® programlama tekniklerini kullanarak, kütüphane tarafından sağlanan donanım hızlandırması performansı ve bazen de 3B modeller veya dönüşümler gerektirmeyen programlama yazılımlarının kolaylığını artırabilir. 2B OpenGL® kullanmanın en yaygın yöntemi, bir görüntüyle 3B alanda etkin bir şekilde bir nesneyi oluşturarak, bir görüntüyle dokulu dörtgenleri veya dikdörtgenleri çizmek. Bir kez kurulduktan sonra, bu dörtgenler, katı 2D metotlarla veya aksi takdirde sadece 2D raster grafiklerle yapılması zor olan özel efektler için 3D matrislerle dönüştürülerek manipüle edilebilir. 3B kitaplığı kullanmanın, yalnızca 2 boyutlu grafikler için kullanırken, tek piksellik konumları izole etmeyi karmaşıklaştırabilen ve gerçekten gerekmeyebilecek bir program için bazı 3B donanım desteği talep eden karmaşıklığı da içeren bazı komplikasyonlar vardır. o.
Pek çok donanım ve yazılım geliştiricisi, belirli ürünlerini OpenGL kitaplığında tam uyumlu kılan sürücüler ve özel soyut programlama arabirimleri (API) sağlar. Açık bir standardın bu yaygın kabulü, programcılara çok çeşitli sistemlerde donanıma doğrudan erişme yolu sağlar. 2D OpenGL® kullanılırken sağlanan donanım ivmesi, bir programın diğerlerinden daha sorunsuz çalışmasına izin verebilir. Bu hız, OpenGL® boru hattını grafik olarak kullanmanın, genellikle OpenGL® gibi bir durum makinesi modeli kullanmayan geleneksel 2D programlama yöntemlerini kullanmaktan çok farklı olabileceği gerçeğiyle dengelenir.
Çoğu 2D OpenGL® programı, grafikleri canlandırmak için doku görüntüsü ile aynı oranlarda yapılmış düz dikdörtgenler kullanır. Bu, programlamayı basitleştirmenin yanı sıra, raster tabanlı tamponlanmış grafiklerle aynı mantıktan bazılarını kullanması için işlenmesi çok hızlı olma avantajına sahiptir. Bir görüntüyü ölçeklendirme, görüntüyü döndürme veya görüntüyü tersine çevirme gibi bazı efektler aslında OpenGL® kullanılarak çok daha verimli şekilde gerçekleştirilebilir.
2D OpenGL® programlarının normalde diğer 2D programlardan daha karmaşık olmasına neden olabilecek bazı faktörler vardır. Bu faktörlerden biri, ekrandaki piksellerin kesinliğidir. OpenGL®, sanal koordinat sisteminin bir bölümünü, raster grafiklerin yaptığı gibi, ekrandaki bir piksele eşitlemez; bu nedenle, kayan nokta sayılarının bazen ekrandaki boşlukları veya garip piksel yerleşimlerini önlemek için ekran koordinatları için kullanılması gerekir.
Başka bir konu da OpenGL®'in render hızını arttırmak için grafik kartı kullanılmasını gerektirmesidir. Bir uygulama bir arayüz veya sistem penceresinin görüntülenmesi için OpenGL® kullanıyorsa, grafik hızlandırması olmayan cihazlar, son kullanıcılar için çok basit görünen grafikler için performans kaybına uğrayabilir. OpenGL ayrıca metin görüntülemek için herhangi bir yerel destek sağlamaz, bu da büyük metin alanlarını göstermenin çok miktarda özel kod gerektirebileceği anlamına gelir.


