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

Yeni Başlayanlar için Özgün Debian GNU/Linux Rehberi

FZ

Yeni başlayan ya da bilgilerini gözden geçirip tazelemek isteyenler için hazırlanmış, Türkçe Gayriresmî Debian Başlangıç Rehberi.

Emeği geçenlerin eline sağlık diyoruz.

Pozitif dergisinin Nisan sayısı çıktı

batasoy

4 gün gecikmeyle, 3. sayımız olan Nisan sayısını da çıkardık. Yaklaşık 200 sayfalık ve özgür yazılım ağırlıklı dergimizi umarız beğenirsiniz: www.pozitifpc.com

Yabancı Sözcüklerin Dilimize Aktarımı

realist

IRC'de, forumlarda ya da günlük konuşmalarımızda iş gereği, haddinden fazla yabancı sözcük kullanıyoruz. Kurallara uygunluğundan vazgeçtim, galat-ı meşhura razıyken aramızda bütünlük oluşturmayı dahi başaramadığımızı görüyorum.

Bilgi İşlem Tasarım Kalıpları

anonim

Tasarım Kalıpları (Design Patterns) adı verilen akım, özellikle bilgi işlem yazılımcıları tarafından son yıllarda çok ilgi görmüştür. Bir tasarım kalıbı basit bir açıklama ile bir nevi reçetedir. Bu reçete, sürekli karşımıza çıkan bir sorun tipine karşı bulunmuş, gene sürekli verilmiş olan ve işe yarar bulunmuş bir çözümdür.

Yazının devamı için buraya tıklayın.

A Byte of Python

roktas

OSnews sitesinde gezinirken gözüme ilişti. Komple boyutta yeni bir Python kitabı. Yazarının ifadesiyle Python belgelerinin listelendiği sayfada Guido van Rossum´ un Python tutoryalinden hemen sonra ikinci sırada yerini almış.

A Byte of Python