OpenGL
OpenGL, hızlı ve basit bir şekilde hem iki boyutlu hem de üç boyutlu grafikler yapmaya olanak tanıyan, ücretsiz bir grafik uygulama geliştirme arabirimidir. Open Graphics Library yani Türkçe anlamıyla açık grafik kütüphanesi anlamına gelmektedir.
En yaygın kullanılan grafik programlama kütüphanelerinden bir tanesidir. Taşınabilir ve tamamen ücretsiz olması onu diğer grafik arayüz oluşturma arabirimlerinden ayırmaktadır.
Geliştiricilerin grafik donanımını yönetebilmesini sağlar. OpenGL, görüntüde bulunan nesneleri tanımlamak ve bu nesneler üzerinde gerek duyulan işlemleri gerçekleştirmek için gerekli komutları içerir.
Silicon Graphic Inc. tarafından geliştirilmiş olan OpenGL çoklu platform desteği sunar. En çok Windows işletim sistemlerinde kullanılır ancak, Mac OS, Linux ve Solaris gibi birçok farklı işletim sistemlerinde de yaygın bir şekilde kullanılmaktadır. OpenGL, bilgisayar, mobil cihaz ve oyun konsollarında kullanılır. Donanım tarafında ise SGI, ATI, Nvidia veya Intel gibi üreticiler ekran kartlarında OpenGL desteği sunar.
OpenGL Nerelerde Kullanılır?
OpenGL kullanım alanları çok yaygındır. Yaygın olarak bilgisayar ve mobil cihazlarda kullanılır.
OpenGL ile basit ve ileri seviyede grafiklere sahip oyunlar yapmak mümkündür. Sanal gerçeklik, bilimsel görselleştirme çalışmaları, uçus simülasyonları ve video oyunları da OpenGL kullanım alanları içerisinde bulunur.
OpenGL’de Geliştirilen Oyunlar:
- Cube 2: Sauerbraten
- Bir video oyunu olan Doom (2016)
- Sandbox video oyunu olan Minecraft
- Dota2,
- Half-Life 2
- Angry Birds
OpenGL kullanılarak geliştirilmiştir. Ayrıca Unity, Unreal Engine gibi oyun arama motorları OpenGL ve DirectX desteği sunmaktadır.
Fotoğraf ve Video:
- Adobe After Effects
- Adobe Photoshop
- Adobe Premiere Pro
OpenGL desteği sunmaktadır.
Modelleme ve CAD:
- 3D Studio Max
- Autodesk AutoCAD
- Blender
- SketchUp
OpenGL desteği sunmaktadır.
OpenGL ile Hangi Programlama Dillerinde Kod Yazılabilir?
OpenGL, C++, C ve Javascript gibi birçok programlama dillerini destekleyerek hem iki boyutlu hem de üç boyutlu grafik uygulamaları geliştirmeye olanak tanır.
Bunun dışında;
- C#
- Python
- Perl
- Java
vb. programlama dilleri de OpenGL tarafından desteklenir.
OpenGL Hangi İşletim Sistemlerini Destekler?
OpenGL, yaygın olarak kullanılan tüm işletim sistemlerini destekler. Desteklenen bazı işletim sistemleri şunlardır:
- Microsoft Windows
- Apple Mac OS
- Linux - Debian, RedHat, SuSE, Caldera
OpenGL'in Özellikleri Nelerdir?
- Taşınabilirdir: OpenGL işletim sisteminden ve platformdan bağımsız olup grafik kartının modeli gibi donanımsal etkenlerden bağımsız programlama yapar. OpenGL kitaplığında ekrana grafik çizmeyi standartlaştırmıştır. Pek çok platformda kullanılabilir. Taşınabilirlik özelliği onun popüler bir grafik uygulama geliştirme arabirimi olmasını sağlamıştır.
- Platformdan ve pencere yöneticisinden bağımsızdır: OpenGL platformdan bağımsızdır. Win32, MacOS ve X-Window gibi pencere yöneticilerinde sorunsuz bir şekilde çalışır. OpenGL donanımdan bağımsız bir kütüphanedir. Donanım-bağımsız olmasının ana nedeni, pencere işlemlerini yapan herhangi bir komutunun bulunmamasıdır. Belirtilen bu işleri gerçekleştirmek için var olan işletim sisteminin mevcut özelliklerini kullanır.
- Öğrenmesi kolaydır: OpenGL, kolay anlaşılır ve hızlı bir şekilde öğrenilebilir. OpenGL işlevleri için çok sayıda belgeler mevcuttur. Ücretsiz bol miktarda eğitici dokümana sahiptir.
OpenGL Tabanlı Uygulama Geliştirme Arayüzleri Nelerdir?
OpenGL ES:
OpenGL ES, OpenGL'nin gömülü sistemler için tasarlanmış bir alt kümesidir. Akıllı telefonlar, tablet bilgisayarlar, video oyun konsolları ve PDA’lar gibi gömülü sistemler için tasarlanmıştır.
Platformlar arasında telif ücreti gerektirmeden çalışabilir. Glut ve Glu gibi kütüphaneler içermez. Günümüzün popüler uygulamalarından biri olan Instagram’da OpenGL ES kullanılmıştır. BlackBerry ve Apple cihazlarında da OpenGL ES kullanılmıştır.
WebGL:
WebGL (Web Graphics Library), web sayfaları üzerinde 3 boyutlu grafikler oluşturmak için kullanılan, ücretsiz bir uygulama geliştirme arayüzüdür. Güncel internet tarayıcılarının çoğu tarafından desteklenir. Khronos Group tarafından yönetilmektedir.