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

e-bergi Ağustos Sayısı ve Programlama Sorusu

anonim

e-bergi ağustos 2008 sayısıyla yine sizlerle. Ayrıca artık e-bergi'de bir de programlama sorumuz var, tıklayın kodlayın :)

Kent Pitman Lisp ve ötesi ile ilgili soruları yanıtladı - Bölüm 1

FZ

Kent Pitman, 2001 yılının sonuna doğru Slashdot camiasının Lisp/Scheme, standartlar, yazılım geliştirme ve diğer konulardaki sorularını cevapladı, merakları nı giderdi. Bir hayli detaylı olan bu soru cevap seansı uzunluğundan ötürü iki bölümde yayınlandı. Birinci bölüm huzurlarınızda...

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.

Doğru Düzgün Soru Sormanın Yolları

yalcink01

FM Forumda açılmış bir konu altında oluşan doğal süreç, bizi forumlarda ve e-posta listelerinde nasıl soru sormak gerektiği konusuna götürdü. Dernek listelerinde zaman zaman dalgalanmalar yaşanmakla birlikte, genelde ortanın üstü diye tabir edebileceğimiz bir ileti yazım tarzı var. FM Forum'un durumu da pek farklı değil. Yeni katılan arkadaşlar haricinde, acayip ve garip tarzda soru soran pek çıkmıyor. Bununla birlikte, söz konusu forum konusunda görülebileceği üzere, bazen iyi bir kılavuza ihtiyaç duyuluyor. Diğer forumlarda ise durum içler acısı :( Türkçe, Türkçe olduğuna bu kadar pişman edilebilir. İmla ve yazım kurallarındaki boşvermişlik bir tarafa, kelimelerde bile acayiplikler "var way!", "ajaip şeler oljek amma bnm sormk isterim...", şeklinde devam eden ucubeler etrafta cirit atmakta. Elbette ki tek bir kılavuz ile bütün bunları sonlandırmak ve insanları doğru yola sokmak mümkün değil -zaten ahir zaman peygamberliği gibi bir derdimiz de yok :)- ama bir yerden de başlamak gerek, değil mi? Peygamber olamadık diye hayatı tamamen boşvermek de olmaz.

Osman Yüksel'e, bu kadar işinin gücünün ve dahi Debian .po çevirilerinin arasında bu işe vakit ayırdığı için teşekkür ederim.

Türkçe çeviri için ilk sürüme http://www.geocities.com/yalcink01/smart-questions.html adresinden ulaşabilirsiniz. Her türlü geri beslemeye kapımız açıktır. Eklemek istediğiniz bölümler var ise, lütfen çekinmeden bildirin.

Matematik Dünyası dergisi

anonim

Sayın Meslektaşlarım,

Türk Matematik Derneği’nin on iki yıldan beri çıkarmakta olduğu Matematik Dünyası dergisinin tüm sorumluluğunu 2003 başından itibaren üstlendim. Dergi tepeden tırnağa değişti. Diliyle, biçemiyle, biçimiyle, konularıyla, derinliğiyle, her şeyiyle son derece heyecanlı ve albenili bir dergi oldu. Ilk iki sayımız çıktı ve çok beğeni topladı, çok övgü aldı. Üçüncü sayımız da pek yakında çıkacak.

Okur kitlemizi lise ve üniversite öğrencileri olarak belirledik. Ancak matematiğin evrenselliği sayesinde, profesyonel matematikçilerin de ilgiyle okuduğu bir dergi ortaya çıktı.