Kitapla ilgili söylenebilecek ilk şey giriş seviyesinde olmakla birlikte
önemli bir boşluğu doldurduğu. Bilgiye erişme probleminden ziyade derli toplu
ve giriş niteliğinde kılavuzlara erişme sıkıntısı çekilen günümüzde bu tür
kitaplar yeni başlayanlar için önemli bir yol gösterici niteliği taşımakta.
Temel olarak başlangıç seviyesinde OpenGL ve GLUT programlamanın anlatıldığı
kitap, basit örneklerden yola çıkıp belli karmaşıklıktaki animasyon, kullanıcı ile
etkileşim, aydınlatma, ses kullanımı gibi konulara yer veriliyor.
OpenGL ve GLUT kullanım örnekleri için seçilen dil C programlama dili ve kitabın
başında bu bağlamda kullanılacak C derleyicileri olarak Microsoft Visual C++ 6.0
ve Dev-C++ derleyicileri tanıtılıyor. GNU/Linux ortamındaki derleyicilere dair
hiç bilgi verilmemesi bu bakımdan eksi puan olarak eleştiri hanesine yazılsa da,
OpenGL ve GLUT fonksiyonalitesinin platform bağımsız şekilde çalışabilmesi ve
verilen örnek kodların, doğru derleyici ayarları ile GNU/Linux ortamında da aynen
derlenip çalıştırılabilmesi belki bu eleştiriyi biraz hafifletebilir.
Derleyici ile ilgili temel bilgilerden sonra OpenGL ve GLUT ile etkileşimli
grafik programlamaya dair en temel bilgiler sunuluyor. Koordinat sistemleri, çizgi
türleri, çokgenler, çember çizimleri üzerine bilgiler örnek C kodları ile birlikte
aktarıldıktan sonra grafik programlamadaki en önemli konulardan biri olan
dönüşümler konusu ele alınıyor ve ölçekleme, öteleme, döndürme gibi işlevlerin
OpenGL fonksiyonları ile nasıl uygulanabilecekleri gösteriliyor.
Ardından 3 boyutlu grafiklerin nasıl gerçekleştirilebileceğini anlatan yazar basit bir kurgusu olan bir oyun programını yavaş yavaş geliştirmeye başlayarak konu anlatımını daha eğlenceli hale getirmeyi başarıyor. Kitabın ilerleyen bölümlerinde kamera hareketleri, kaplama, aydınlatma gibi biraz daha ileri seviyeli konular ele alındıktan sonra yavaş yavaş içinde gezineceğimiz basit bir oyun dünyası somut olarak belirmeye başlıyor.
Kitabın ilk okumada göze çarpan eksi yönlerine gelecek olursak, yazardan ziyade editöre ve yayınevine yüklenebilecek olan imla kusurları, tutarsızlıkları, aynı bilginin farklı yerlerde farklı gösterimleri zaman zaman rahatsız edici bir hal alabiliyor -- buna sayfa düzenlemesinin yeterince iyi olmayışı da dahil edilebilir. Aradığımız şeyi kolayca bulmamızı sağlayan indeks bölümü mevcut değil. Kaynakça kısmında sadece 5 web sitesi adresi mevcut iken OpenGL ile ilgili temel referans kabul edilen hiçbir eserin adı maalesef geçmiyor. Oyun grafikleri bağlamında çok önemli bir yeri olan analitik geometriye daha çok yer verilebilir, işin matematiği çok daha iyi anlatılabilirdi. Ayrıca oyunlarda ses kullanımına dair bilgi beklerken sadece .wav dosyası çalmak ile ilgili bir fonksiyondan bir iki satırla bahsetmek sureti ile konuyu geçiştirmek de bir miktar hayalkırıklığı yaratmıyor değil.
Bu kitap kimler için? Orta seviyede C programlama bilen, matematikten korkmayan, MS Windows ya da GNU/Linux ortamında basitçe OpenGL temellerini ve ilkel animasyonların, grafik efektlerin nasıl yapıldığını deneyerek görmek isteyenler için.
Bu kitabı bitirdikten sonra ne yapabilirsiniz? Dünyayı sarsacak ve grafik kartlarının sınırlarını zorlayacak bir oyun yazamazsınız ama en azından o tür oyunların karmaşıklığına dair az da olsa bir fikir sahibi olur, o tür şeylerde uzmanlaşmak istiyorsanız izlemeniz gereken yolun ilk duraklarını görmüş olursunuz. OpenGL ve GLUT sistemine aşinalık kazanıp daha ileri seviyeli örnekleri kurcalayıp anlayabilmek için basit bir temele kavuşmuş hale gelirsiniz.
Kitap ile ilgili söylemek istediğim son nokta bir uygulama CD eki ile birlikte geldiği. CD'de ücretsiz Dev-C++ derleyicisi, gerekli kütüphane dosyaları ve örnek kodların yanısıra kitapta anlatılmamış yabancı örneklerin de kaynak kodları bulunuyor.
Yani hemen kolları sıvayıp denemelerinize başlayabilirsiniz!
OpenGL ve GLUT İle Oyun Programcılığına Giriş, Şerif Gözcü, Seçkin Yayıncılık, Ocak 2006, Ankara. 170 sayfa. 9,90 YTL.
Bu ay çıkan ve Şerif Gözcü tarafından yazılmış "OpenGL ve GLUT İle Oyun Programcılığına Giriş" isimli eser, Türkçe bilgisayar kitapları dünyasında eksikliği hissedilen bir alanı doldurma iddiasında.
-- Glut + OpenGL hakikaten C derleyicisini calistirmayi bilenler icin platformdan bagimsiz. OpenGL'in hic ilgilenmedigi text yazdirma vs. fonksyonlar var ki, burada GLUT'in yardimindan ziyade ftgl vs. tercih ediliyor. Ama eger yazar WGL fonksyonlarini kullandiysa, o kod windowsa bagli kalir.
-- Ses isi OpenGL'in degil. OpenAL var, eger oyunumsu isler icin OGL benzeri birsey araniyorsa (onda da sentezleme yok yanlis hatirlamiyorsam) Bunlarin hepsi bir kitaba sigmaz bence yazar dogru yapmis.