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

Hibernate Üzerine Bir Sunum

malkocoglu_2

Tüm zamanların en başarılı kalıcılık (persistence) aracı Hibernate hakkında şirket bünyesinde yaptığımız bir sunumu paylaşıyoruz. Sunum, Hibernate'in en temel özelliklerinden başlayarak sorgulama, önbellekleme, veri tabanı bağlantı havuzları gibi kavramları kapsamaktadır. Hibernate hakkında ek bir haber de, JBoss gurubunun, Hibernate projesine sponsor olmaya karar vermiş olmasıdır ve Hibernate kurucu elemanları artık JBoss şirketinde çalışmakta, açık yazılım ürünlerine verdikleri servis üzerinden para kazanmaktadırlar. İşte bir diğer açık yazılım başarı hikayesi!

Not: Bu sunum da Gnu Emacs ve LateX ile hazırlanmıştır. :) Latex kodlarından derlenmiş slaylatların animasyon ile birbirinden geçiş yapabilmesi hoşunuza gidebilir.

Powerpoint?

O da ne?

Computer Programming Using GNU Smalltalk

FZ

Smalltalk, ilk nesne yönelimli dillerden biri olarak pek çok başka platforma da esin kaynağı olmuştur. Bu önemli programlama dili için Canol Gökel tarafından yayınlanan "Computer Programming Using GNU Smalltalk" başlıklı bedelsiz kitabı buradan indirip okuyabilirsiniz.

Yapay Öğrenim - Bir Özet

anonim

Yapay öğrenim (machine learning) konusunda faydalı olacağını umduğumuz bir makaleyi ekte sunuyoruz. Makalede, yapay öğrenimi karşılaştırmalı olarak tanıtmaya çalıştık. Regresyondan başlayarak, grafik modellere giden bir yelpazede YÖ nedir, matematiksel temeli nelere dayanır, ve hangi uygulamalar için kullanılır sorularının cevabını irdeledik.

GNU/Linux üzerinde LaTeX ile yazılmıştır. Penguenlere duyrulur.

http://www.bilgidata.com/pdfs/ml-tr.pdf

Yazılım Şirket Çeşitleri

anonim

Bu yazımızda, yazılım üreten şirketlerin hangi kategorileri oluşturduğunu, bu kategorilerin tarihini birkaç örnek ile göstermeye çalışacağız. Kategorilerden birisi olan "ürün şirketi", rahatça bilinen ve tasvir edilen bir şirket olsa da, öteki şirket türü, danışman şirketi, yaygın olarak bilinmeyen yazılım şirketleridir. Yazının bilgilendirici olacağını umuyorum.

Yazının devamı


PHP-Nuke 5.5 ve Windows 2000 Server

anonim

Bu makale Windows IIS Server de  PHP-Nuke 5.5 kurulumunun nasıl yapılacağı anlatılmıştır.Makelenin orjinali ingilizce olup buradan izlenebilir

1) Gerekli Dosyalar:
PHP-Nuke 5.5 - PHP-Nuke Dosyası
mySQL 3.23.49 - PHP Nuke İçin veri tabanı
PHP 4.2.0 installer - Windows ISS Server de PHP Kodlarının Çalışması için gerekli olan dosya.