OpenGL nedir ve Kullanıcı – Yazılımcı gözünden inceleyelim

OpenGL nedir ve Kullanıcı – Yazılımcı gözünden inceleyelim

Türkçe adıyla Açık Grafik Kütüphanesi ( Open Graphic Library ) donanımların iki boyutlu ve üç boyutlu grafikleri ekrana çizmemize yarayan grafik uygulamasıdır. İlk taslağı 1992 yılında SGI firması ile oluşturulmuştur.Daha öncesinde benzer ürün olarak SGI Firması IrısGL’i üretmişti fakat bu API matris işlemlerinde çok hızlı olmasına karşın işletim sistemleri değiştiğinde sorunlar çıkarabiliyordu ve çok taşınabilir değildi.Bu sorunları ortadan kaldırarak taşınabilir OpenGL üretildi.

Özellikleriyle standart haline gelen bu arabirim Windows, Linux, MacOS gibi bir çok işletim sistemince desteklenir.Ayrıca oyun konsollarından bazılarının ( Playstation 3 gibi ) OpenGL desteği mevcuttur.
Donanım üreticileri her ekran kartında bu desteği sunmaktadır.Bu desteği SGI firmasına belli bir ücret ödeyerek sağlamaktadır, ödeme karşılığında SGI firması güncel sürücüleri sağlayarak ekran kartına performans testleri yapmaktadır.

İhtiyaç listesinin başında gelen bu arabirimin kar amacı güdülmeyen bu yapılanmada bakımı ve gelişimi ise Khronos Group tarafından yürütülmektedir.

OpenGL desteği sunan oyunlardan örnek ;

America’s Army , DreamChess, Max Payne, Quake II, III ve IV , Second Life  … Oyun piyasasında göz ardı edilemeyecek miktarda ürünleri mevcuttur.

OpenGL desteği sunan bazı yazılımlara örnek :

Tasarımcıların vazgeçilmezlerinden biri Photoshop gibi yazılımlarda OpenGL desteği mevcuttur bunun yanı sıra popüler yazılımlar arasında olan Google Earth programınında OpenGL desteği sağlanmıştır.

Platformlardan bağımsız çalışan OpenGL, C diline benzetilebilir.Komutları Windows sistemlerde ve Linux sistemlerde de aynı görevi yerine getirmektedir.Komutları içeren, çalışma sırasında gereksinim duyacağı runtime-library(çalışma anı kütüphanesi) platformlar tarafından hazır olarak entegre edilerek bize sunulmaktadır.Bu sayede uygulamanın çalışması için gereksinimler duyulmamaktadır.

Bir çok programlama dili de OpenGL’i kullanabiliriz. OpenGL kütüphanelerini kullanarak  C, C++, C# (SharpGL adı verilen sınıflar sayesinde), Fortran, Python,Perl ve Java dillerinde destek mevcuttur.

Popülerliğini her ne kadar korusa da, Microsoft ürünü olan DirectX yolunu kesme peşindedir.Bir nevi kendi ürününü öne çıkartan Microsoft  bu sayede oyun, yazılım üreticilerinin platform tercihlerini windows’tan yana kullanmasını sağlamaktadır.
Microsoft’un bu çabaları her ne kadar devam etsede , OpenGL’in gücünü yeni sürümleriyle (10,11 versiyonları ) ile yakalamıştır.Lakin bu versiyonları pazarda hala göz ardı edilemeyen XP kullanıcıları faydalanamadığından OpenGL gücünü birkez daha kanıtlıyor.

Yazılımcılar tarafından API kullanımı için hiçbir ücret ödenmemesi avantajlarındandır.

 

Kullanıcı için OpenGL ne ifade eder?
Sıklıkla kullandığımız tipik programlar ( word vs. ) ekrana yazdırılacak iş için GDI ( Graphic Design Interface – grafik tasarım arayüzü ) kullanırlar.Bu API düşük seviyelidir, ekran kartıyla bağlantı kurarak ekrana şeklin çizilmesini sağlar.

Örnek olarak ekrana bir doğru çizdirmek istediğimizde, uygulamanın programlama dili GDI API’leri çağırır ve ekran kartını yönetmesi sağlanır.GDI Ekran kartını yöneterek ekrana doğrunun çizilmesini sağlar.( Ekran kartı sürücülerinin kurulması bu sebepledir ki, API’lerin ekran kartını yönetimi düzenlenir. )

OpenGL’de boyanma işlemi gibi komutlar’da; Ekran kartı OpenGL’i destekliyorsa ( günümüzde bütün kartlar destekliyor ) GDI arabirimini kullanmaz (Ekran kartı bu komutları algılayabildiğinden ) direk ekran kartına iletir.Bu da OpenGL’e ciddi bir hız kazancı sağlamaktadır.

Örneğin ekrana üçgen çizimi :

OpenGL’de basit modellemeler yapılır ;

glBegin(GL_TRIANGLE);
glVertex2i(0,0);
glVertex2i(-100,0);
glVertex2i(-100,100);
glEnd();

gibi basit bir kod ile yapılmaktadır.Kod içerisinde, üç kenardan ibaret olduğu ve kenar noktalarının ekran koordinatları verilerek hazırlanmıştır.( glVertex satırı ile koordinatlar verilmiştir )

3 Boyutlu grafiklerde ve mühendislik yazılımlarında OpenGL tercih edilir. diğer ekranlara göre ( directx kullananlar ) modellemeler daha basit olarak yapılmaktadır.

Microsoft bir yandan çok başarılı denilecek bir geliştirme sunmasada, pazarın akışını kendi yönüne çevirebilmeyi Reklamları ve Stratejisiyle başardı gözüküyor.

Bunu ise OpenGL’in eksikliği olarak değerlendirmek büyük bir hata olur.

Mustafa YALÇIN


Google ile gelen arama sonuçları:

  • opengl nedir
  • opengl
  • ekran kartı opengl nedir
  • google earth opengl nedir
  • opengl komutları
  • grafık kartının open gl ı desteklemesı
  • https://yandex ru/clck/jsredir?from=yandex ru;search;web;;&text=&etext=1831 rUXrs6UEzRPWfWOLiuhrmOngCPO8m3r_xJU7gYYyTovikCORr-iUnCyHNKAdJhJD d02247213792349b99227103dfc8fa0fa76ce87c&uuid=&state=_BLhILn4SxNIvvL0W45KSic66uCIg23qh8iRG98qeIXme
  • google earth çalışmıyor opengl
  • sharpgl kütüphanelerini
  • ekran kartı opengl e

One thought on “OpenGL nedir ve Kullanıcı – Yazılımcı gözünden inceleyelim

  1. OpenGL popülaritesini Microsoft`a karşı maddi yetersizlikten kaybettiğini düşünüyorum.
    Eline sağlık orjinal bir makale yazmışsın

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir