OpenGL ve GLUT İle Oyun Programcılığına Giriş

0
FZ
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.
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.

Görüşler

0
bm
Kitabi gormedim, ama elestiri ile ilgili bir iki sey ekleyeyim:

-- 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.

0
FZ
Görebildiğim kadarı ile WGL fonksiyonu gibi şeyler yok, kodlar olabildiğince platform bağımsız. Metin yazdırma gibi şeylere girmemiş yazar. Belki bu da bir eksiklik kabul edilebilir bir bakıma, yani ekrana basit de olsa bir menü nasıl çizdirilir, vs. gibi.

Ses konusuna gelince, evet anlatmak istendikten sonra 10 cilt anlatılır da konu gene bitmez ama metin içinde hiçbir yönlendirici bilgi vermeksizin bir iki satırla geçiştirmek de doğru olmasa gerek. Başlıkta OpenGL ve GLUT geçiyor olabilir ama oyun programlama lafı da geçiyor, en azından birkaç paragraf yahut sayfa yer ayrılıp durum özetlenebilir, doğru yerlere referans verilebilirdi.
0
bm
Simdi baktim 179 sayfa! Nasil sigacak OpenGL oraya? Herneyse, eger kitapta link yoksa Red Book'un eski basimlari acik: http://www.opengl.org/documentation/red_book_1.0/
0
neurorebel
NeHe Productions Burası da pek çok OpenGL programcısının ilk adımlarını attığı yer. Ben 3 - 5 gün içinde soluksuz ilk 10 - 15 tutorialını bitirmiştim. Pek çok detaya iniyor. Ogre 3d Bu da çok kaliteli bir açık kaynak kodlu 3d motor. Linux ve Windows için kaynak kod ve derlenmiş hali mevcut. Henüz denemedim ama sitede verilen teknik detaylara bakılırsa tekerleği yeniden icad etmenin bir anlamı yok (İnsanın morali bozuluyor yani :D ).
0
darkhunter
Ogre çok sağlam bir motor, temel GL bilginiz varsa birkaç saat içinde birşeyler yapıp içine girmeniz mümkün...

Bizzat denemedim ama 3D Demo hazırlamak için de araçları olduğundan söz edenleri duydum...
0
FZ
Sığmayacak. C kodlarını çıkarırsak zaten 100 sayfa filan. Benim Türk yazarlarına önerim biraz daha uzun soluklu ve daha detaylı araştırmaya dayanan kitaplar yazmaları. Madem kağıt kullanılacak hiç değilse biraz daha kalıcı ve uzun ömürlü metinler üretilsin. Yazılmış olan metinler mümkünse grafik, oyun, etkileşim, geometri, matematik, vs. gibi alanlarda uzman birkaç insana gösterilsin, tekrar düzenlensin ancak ondan sonra basılsın. Anadili Türkçe olan ve henüz iyi seviyede İngilizce bilmeyen bilgisayar heveslilerinin çok daha fazlasını hak ettiğini düşünüyorum.
0
anonim
Süper bir haber. Eksiklikleri olabilir ama ucuz fiyatı ile en azından opengl'e başlangıç yapmak için kaçırılmayacak bir fırsat. Bakalım en kolay neredey alabileceğim?
Aldıktan sonra haber eskimemişse başka bir yorum daha yaparım.
0
mentat
keşke GLUT gibi artık miadını doldurmuş (son sürümü 2001) bir kütüphane değil de en az onun kadar basit ama ses, ağ, vs desteği de olan, açık kaynak kodlu ve sürekli güncellenen SDL üzerinden anlatılsaymış.

GLUT yıllar önce yazılmış, basit ama basit işlerden iki adım ileriye gitmeyi imkansız kılan bir kütüphane. Ben hala %100 işlemci kullanmamasının nasıl sağlandığını bilmiyorum mesela (arka plandayken, ya da GL ekranında hiçbir değişiklik olmamışken). GLUT'un devamı niteliğinde freeGLUT vardı. Bu arada GLUT açık kaynak kodlu değil diye hatırlıyorum. Sadece platform bağımsız ve ücretsiz..

Başlangıç için tavsiyem SDL. Onun da iri kıyımlaşan projelerde patlaması dertleri var GLUT gibi ama o zaman da wxWidgets veya oyun yapıyorsanız, Ogre, Crystal Space, ya da kendi wrapper kodunuzu kullanırsınız zaten.

öyle ya da böyle, raflarda konuyla ilgili türkçe bir kitap bulunması sonuçta iyi birşey tabi..
0
darkhunter
İngilizcesi olanlar http://www.opengl.org/'daki dökümantasyonu okusalar, zamanlarını daha mantıklı kullanmış olurlar...

Bu saatten sonra GLUT öğrenmenin kime ne faydası olur? Bilmiyorum...
0
Tarık
C# ve managed directx ile 3d oyun yapimi kitabı olmasından iyidir. piyasada bırakın open gl i adam gibi temel bilgisayar grafiği kitabı bile bulmak çok güç (türkçe) Uzun süredir oy.org gibi siteleri takip edip, buralarda böyle kitapların çıkması için bayaa dil dökmüş biri olarak bu haberle havalara uçtum desem yalan olmaz.
0
Tarık
OpenGL GLUT bile olsa bu tip kitapların türkiyede türkçe olarak varolmadığını bilen 3d/2d oyun programlama heveslisi gençler için iyi bir haber bence. evet gelişen teknolojiye uygun olarak yeni kütüphaneler için kitaplar yazılabilirdi. ama maalesef o kadar bile altyapımız yok. neyseki birisi kalkıp glut için bir kitap yazdı. okumamış olmamama rağmen bence geç kalınmış gerekli bir kitap.
0
core_eye
Ya bunun DirectX ve C# ile olan versiyonu yokmu? bana o lazım...
Görüş belirtmek için giriş yapın...

İlgili Yazılar

LDP 10 Yaşında

yalcink01

01/11/2003 tarihi itibari ile Linux Docementation Project 10. yılını devirdi. Matt Welsh tarafından ilk How-To /* Installation How-To*/nun yazılması ile başlayan ve bugün 14 ayrı dilde 450 den fazla yazara sahip olan LDP bugün için Linux ve Açık Kaynak yazılımlarına kılavuz sağlama konusunda ev sahipliği yapmaya devam ediyor. Eh ne dileyim Nice Mutlu Yıllara!

Duyurunun tam metnine TLDP ana sayfadan ulaşabilirsiniz.

Buffer Overflows

anonim

Buffer overflowlar hakkında güzel bir döküman uzun olmakla beraber sıkılmayacağınızı tahmin ediyorum :)

http://www.enseirb.fr/~glaume/bof/report.html

Bilgisayar Bilimcisi Gibi Düşünmek

tekrei

Bilgisayar Bilimcisi Gibi Düşünmek: Python ile Öğrenme 2. baskının Türkçe çevirisini uzun bir zamandan sonra bitirdim.

Kitap Eleştirisi: Adım Adım LaTeX

FZ

Biz bilgisayarcılar için genellikle pek kaynak sıkıntısı yoktur, hemen hemen her türlü konuda diğer bilgisayarcılardan, USENET'ten, Google'dan, vs. kolayca bilgi edinebilir ve bunları pratik olarak uygulayabiliriz. Bununla birlikte bir konuya yeni başlayan birine derli toplu, sistematik olarak konuyu anlatan bir kitabın değeri ve pedagojik önemi tartışılmaz.

Adım Adım LATEX isimli kitap da yukarıdaki sebeplerden ötürü LaTeX konusunda önemli bir boşluğu dolduran belki de ilk ve tek Türkçe kaynak. Prof. Dr. Abdugafur Rahimov ve Orhan Kesemen tarafından yazılmış ve 2004 yılında kitabevlerinde satışa sunulmuş Adım Adım LaTeX kitabı, LaTeX isimli kaliteli belge oluşturma sistemine dair gerekli hemen hemen tüm bilgileri içeriyor. Kitabın ve LaTeX'in sadece matematikçilere ya da bilgisayarcılara hitap ettiğini düşünenler varsa, bu önyargılarını şimdiden silmelerinde fayda var. Psikolojiden, felsefeye, işletmeden hukuğa kadar, herhangi bir konuda ödev yazan, makale hazırlaması gereken ya da profesyonel görünümlü bitirme ödevi, yüksek lisans tezi, doktora tezi, kitap vs. yazmak isteyenlere bu kitabı rahatlıkla önerebilirim başucu kaynağı olarak.

Leonardo Da Vinci'nin Not Defteri

Ragnor

/. 'ta okuduğum habere göre The British Library yani İngiliz Kütüphanesi 14 muhteşem kitabı Internet üzerinden sergilemeye başlamışlar. İçlerinde Da Vinci'nin 1508 tarihli not defteri de bulunmakta.