- Joined
- Oct 18, 2019
- Messages
- 1,663
- Solutions
- 229
- Reaction score
- 3,431
OpenGL ( Open Graphics Library, Açık Grafik Kütüphanesi), gelişmiş donanım desteğini kullanarak hem iki hem deüç boyutlu grafikleri ekrana çizmek için kullanılan ücretsiz bir grafik uygulama geliştirme arabirimidir. Window,Linux, macOS, Solaris gibi birçok iletim sistemi yaygın olarak ve Playstation başta olmak üzere bazı oyun konsollarınca desteklenir. Donanım tarafında ise SGI, ATI, Nvidia veya Intel gibi büyük üreticiler her ekran kartında OpenGL desteği sunar.
1992 yılında ilk taslağı yaratılmış olan bu standart, günümüzde 4.1 sürümüne ulaşmıştır ve 700 üzerinde fonksiyona sahiptir. Çoklu platform desteği içeren uygulamalar ve özellikle de deneysel ve bilimsel araçlarda açık arayla önde ve standart olarak kullanılmakta olan platform OpenGL’dir.
Taşınabilir
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.
Platform Bağımsız
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 hali hazırda mevcuttur. Windows işletim sistemi ailesinde standart olarak gelir. Yani OpenGL kullanan bir programı çalıştırmak için bir çaba harcamazsınız.
OpenGL kullanılarak yazılmış programlar, Win32, MacOS ve X-Window pencere yöneticilerinde sorunsuz çalışırlar.
Bir çok programlama dilinde 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.
Not:
Taşınabilirlikten bahsetmişken GLUT’danda söz etmek gerekir. 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.
1992 yılında ilk taslağı yaratılmış olan bu standart, günümüzde 4.1 sürümüne ulaşmıştır ve 700 üzerinde fonksiyona sahiptir. Çoklu platform desteği içeren uygulamalar ve özellikle de deneysel ve bilimsel araçlarda açık arayla önde ve standart olarak kullanılmakta olan platform OpenGL’dir.
Taşınabilir
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.
Platform Bağımsız
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 hali hazırda mevcuttur. Windows işletim sistemi ailesinde standart olarak gelir. Yani OpenGL kullanan bir programı çalıştırmak için bir çaba harcamazsınız.
OpenGL kullanılarak yazılmış programlar, Win32, MacOS ve X-Window pencere yöneticilerinde sorunsuz çalışırlar.
Bir çok programlama dilinde 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.
Not:
Taşınabilirlikten bahsetmişken GLUT’danda söz etmek gerekir. 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.