OpenGL Programlamaya Giriş
Önceki 30 Dakikada OpenGL'e Giriş Sonraki
OpenGL Programlamaya Giriş
API (Uygulama Programlama Arayüzü) Nedir?
Bir işletim sisteminin veya bir programın sunduğu bir hizmeti kullanmak için verilmiş yöntemlerdir. Bunu bir kitaplıktan işlev çağırmak gibi düşünebiliriz. Biz isteği API ile yaparız ve isteğimiz yerine getirilir, sonra programımız normal çalışmasına devam eder.
OpenGL Nedir?
Kitaplıktır
Open Graphics Library (OpenGL), 2 veya 3 boyutlu grafik çizdirmek için kullanılan bir API'dir bir başka deyişle kitaplıktır. Bu kitaplık yazılım geliştiricilere grafik donanımını yönetme şansı verir.
Taşınabilirdir
Bu kitaplık işletim sisteminden ve işletim sisteminin çalıştığı platformdan bağımsızdır. Nasıl ki ekrana yazı yazmak kullanıcıdan veri almak ANSI C'de printf() ve scanf() gibi işlevlerle standartlaştırılmış ve hangi işletim sistemine giderseniz gidin bu iki işlev aynı işi yapıyorsa, OpenGL kitaplığı da ekrana grafik çizmeyi standartlaştırmıştır. OpenGL sayesinde grafik kartının modeli veya işlemcinin mimarisi gibi donanımsal etkenlerden bağımsız programlama yapılır. Ayrıca aynı zamanda işletim sisteminden de bağımsız programlama yapılır. Kolay kullanım ve bu "taşınabilirlik" özellikleri yüzünden OpenGL popüler bir araç olmuştur.
İşletim sisteminden bağımsızdır
OpenGL kullanan bir programı işletim sisteminizde çalıştırmanız için öncelikle işletim sisteminizde programın çalışırken kullanacağı işlevleri içeren kitaplığın bulunması gerekir, bu kitaplıkların genel adı "runtime-library", türkçesi çalışma anı kitaplığıdır.
OpenGL çalışma anı kitaplığı Linux, Unix, Mac OS, OS/2, Windows 95/98/NT/2000, OPENStep ve BeOS işletim sistemlerinde vardır. Windows ailesinde standart olarak gelir. Yani OpenGL kullanan bir programı çalıştırmak için bir çaba harcamazsınız.
Pencere yöneticisinden bağımsızdır
OpenGL kullanılarak yazılmış programlar, Win32, MacOS ve X-Window pencere yöneticilerinde sorunsuz çalışırlar.
Birçok programlama dilinden kullanılabilir
Ada, C, C++, C# (SharpGL adı verilen sınıflar sayesinde), Fortran, Python,Perl ve Java programlama dilleri kullanılarak OpenGL kitaplığından faydalanılabilir. [#2]
GLUT Hakkında
Taşınabilirlikten bahsetmişken GLUT'tan sözetmemek olmaz. OpenGL platformdan bağımsız olduğu için bazı işlemler bu kitaplık ile yapılamaz. Örneğin kullanıcıdan veri almak, bir pencere çizdirmek gibi işler hep kullanılan pencere yöneticisi ve işletim sistemine bağlıdir. Bu yüzden bir an için OpenGL'in bu durumlarda platforma bağımlı olduğunu düşünebiliriz. Çünkü penceresini her pencere yöneticisinde farklı çizdirecek bir canlandırma programı yazmak demek her bilgisayarda çalışacak ayrı pencere açma kodu yazmak demektir. Bu ise OpenGL'in doğasına aykırıdır. Neyse ki OpenGL Araç Kiti (GLUT - OpenGL Utility Toolkit) var da yazılım geliştiricileri bir platforma bağlılıktan tamamen kurtarıyor.
GLUT, birçok işletim sistemine aktarılmış bir kitaplıktır. Amacı OpenGL programlarının pencerelerini oluşturmak, klavye ve fareden veri almak gibi ihtiyaçlarını karşılamaktır.
GLUT olmadan da OpenGL programlama yapılabilir, örneğin Linux'ta kullanılan X-Window sistemin kendi işlevleri kullanılarak pencere çizdirilebilir fakat bu kod sadece X-Window'da çalışır. Kod Windows'a götürülüp derlendiğinde çalışmaz, çünkü Windows'da X-Window işlevleri yoktur!
Bu yüzden bu belgede GLUT kitaplığı kullanılarak klavye ve fare için işletim sisteminden bağımsız giris/çıkış işlemleri yapılması sağlanmıştır.
Önceki Üst Ana Başlık Sonraki
30 Dakikada OpenGL'e Giriş Başlangıç Ne gerekir? Nasıl yapılır?
Bir Linux Kitaplığı Sayfası