Root > Documents > IT Teknolojileri > OpenGL nedir ve Kullanıcı - Yazı
Cyber-Warrior.Org \ Doküman \ IT Teknolojileri > OpenGL nedir ve Kullanıcı - Yazı
Madde
  Yazar : Seber
  Date : 18.01.2011 10:34:29
 
# OpenGL nedir ve Kullanıcı - Yazı
 

OpenGL nedir ve Kullanici - Yazilimci gözünden inceleyelim

Türkçe adiyla Açik Grafik Kütüphanesi ( Open Graphic Library ) donanimlarin iki boyutlu ve üç boyutlu grafikleri ekrana çizmemize yarayan grafik uygulamasidir. Ilk taslagi 1992 yilinda SGI firmasi ile olusturulmustur.Daha öncesinde benzer ürün olarak SGI Firmasi IrisGL’i üretmisti fakat bu API matris islemlerinde çok hizli olmasina karsin isletim sistemleri degistiginde sorunlar çikarabiliyordu ve çok tasinabilir degildi.Bu sorunlari ortadan kaldirarak tasinabilir OpenGL üretildi.

Özellikleriyle standart haline gelen bu arabirim Windows, Linux, MacOS gibi bir çok isletim sistemince desteklenir.Ayrica oyun konsollarindan bazilarinin ( Playstation 3 gibi ) OpenGL destegi mevcuttur.
Donanim üreticileri her ekran kartinda bu destegi sunmaktadir.Bu destegi SGI firmasina belli bir ücret ödeyerek saglamaktadir, ödeme karsiliginda SGI firmasi güncel sürücüleri saglayarak ekran kartina performans testleri yapmaktadir.

Ihtiyaç listesinin basinda gelen bu arabirimin kar amaci güdülmeyen bu yapilanmada bakimi ve gelisimi ise Khronos Group tarafindan yürütülmektedir.

OpenGL destegi sunan oyunlardan örnek ;

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

OpenGL destegi sunan bazi yazilimlara örnek :

Tasarimcilarin vazgeçilmezlerinden biri Photoshop gibi yazilimlarda OpenGL destegi mevcuttur bunun yani sira popüler yazilimlar arasinda olan Google Earth programininda OpenGL destegi saglanmistir.

Platformlardan bagimsiz çalisan OpenGL, C diline benzetilebilir.Komutlari Windows sistemlerde ve Linux sistemlerde de ayni görevi yerine getirmektedir.Komutlari içeren, çalisma sirasinda gereksinim duyacagi runtime-library(çalisma ani kütüphanesi) platformlar tarafindan hazir olarak entegre edilerek bize sunulmaktadir.Bu sayede uygulamanin çalismasi için gereksinimler duyulmamaktadir.

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

Popülerligini her ne kadar korusa da, Microsoft ürünü olan DirectX yolunu kesme pesindedir.Bir nevi kendi ürününü öne çikartan Microsoft  bu sayede oyun, yazilim üreticilerinin platform tercihlerini windows’tan yana kullanmasini saglamaktadir.
Microsoft’un bu çabalari her ne kadar devam etsede , OpenGL’in gücünü yeni sürümleriyle (10,11 versiyonlari ) ile yakalamistir.Lakin bu versiyonlari pazarda hala göz ardi edilemeyen XP kullanicilari faydalanamadigindan OpenGL gücünü birkez daha kanitliyor.

Yazilimcilar tarafindan API kullanimi için hiçbir ücret ödenmemesi avantajlarindandir.

Kullanici için OpenGL ne ifade eder?
Siklikla kullandigimiz tipik programlar ( word vs. ) ekrana yazdirilacak is için GDI ( Graphic Design Interface – grafik tasarim arayüzü ) kullanirlar.Bu API düsük seviyelidir, ekran kartiyla baglanti kurarak ekrana seklin çizilmesini saglar.

Örnek olarak ekrana bir dogru çizdirmek istedigimizde, uygulamanin programlama dili GDI API’leri çagirir ve ekran kartini yönetmesi saglanir.GDI Ekran kartini yöneterek ekrana dogrunun çizilmesini saglar.( Ekran karti sürücülerinin kurulmasi bu sebepledir ki, API’lerin ekran kartini yönetimi düzenlenir. )

OpenGL’de boyanma islemi gibi komutlar’da; Ekran karti OpenGL’i destekliyorsa ( günümüzde bütün kartlar destekliyor ) GDI arabirimini kullanmaz (Ekran karti bu komutlari algilayabildiginden ) direk ekran kartina iletir.Bu da OpenGL’e ciddi bir hiz kazanci saglamaktadir.

OpenGL’de basit modellemeler yapilir ;



Örnegin ekrana üçgen çizimi :

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

gibi basit bir kod ile yapilmaktadir.Kod içerisinde, üç kenardan ibaret oldugu ve kenar noktalarinin ekran koordinatlari verilerek hazirlanmistir.( glVertex satiri ile koordinatlar verilmistir )



3 Boyutlu grafiklerde ve mühendislik yazilimlarinda OpenGL tercih edilir. diger ekranlara göre ( directx kullananlar ) modellemeler daha basit olarak yapilmaktadir.

Microsoft bir yandan çok basarili denilecek bir gelistirme sunmasada, pazarin akisini kendi yönüne çevirebilmeyi Reklamlari ve Stratejisiyle basardi gözüküyor.

Bunu ise OpenGL’in eksikligi olarak degerlendirmek büyük bir hata olur.

Mustafa YALÇIN

   
   
Cyber-Warrior TIM All Legal and illegal Rights Reserved.\CWDoktoray 2001©