Can Tecim
Can Tecim
İstanbul-I (Avrupa)
11/09/2014 tarihinden beri üye
875 GY Puanı
5K GY Sırası
2 Rozet
8 Sertifika
0 Soru Sordu
1 Cevap Verdi
0 Blog Yazısı
0 Etiket Takibi

Hakkında

İş Tecrubesi

Kullanıcıya ait İş tecrübesi bilgisi bulunmamaktadır.

Eğitim Geçmişi

Kullanıcıya ait Eğitim geçmişi bilgisi bulunmamaktadır.

Sertifikalar & Başarılar

GY Sertifikaları (8)
iOS 401 Sertifikası
Veriliş Tarihi: Aralık 2014
iOS 301 Sertifikası
Veriliş Tarihi: Aralık 2014
iOS 202 Sertifikası
Veriliş Tarihi: Aralık 2014
iOS 201 Sertifikası
Veriliş Tarihi: Aralık 2014
Android 401 Sertifikası
Veriliş Tarihi: Aralık 2014
Android 301 Sertifikası
Veriliş Tarihi: Aralık 2014
Android 201 Sertifikası
Veriliş Tarihi: Aralık 2014
Android 101 Sertifikası
Veriliş Tarihi: Ekim 2014
Diğer Sertifikaları (0)
Kullanıcıya ait sertifika bulunmamaktadır.
Test Sonuçları (0)

Kullanıcıya ait test sonucu bulunmamaktadır.

Dil Becerileri

Son Forum Aktiviteleri

1
Tümünü Gör

Kullanıcıya ait forum aktivitesi bulunmamaktadır.

OpenGL Es 3d Oyun Pogramlama

picture-28061-1410449897.png
25 Ekim 2014 tarihinde cevaplandı

Öncelikle, kavramları baştan almak gerekirse,

OpenGL bir grafik kütüphanesidir. OpenGL ES(mobil sistemlerde bulunan) ise OpenGL kütüphanesinin gömülü sistemler yani mobil cihazlar gibi sistemler için tasarlanan bir alt kümedir.

Peki grafik kütüphanesi nedir ? Grafik kütüphaneleri grafik donanımlarının yazılımsal katmanlarını kontrol ederek çalışılan cihaz üzerinde grafikler(Aslında masaüstü bilgisayarlardan, mobil cihazlara kadar tüm ekranda gördüğünüz öğeler bir grafik kütüphanesi tarafından çizilir) oluşturmaya yarar. Her sistem genel olarak sistemin desteklediği UI elemanlarını çizmek ve yönetmek için kendi gömülü grafik kütüphanesini zaten barındırır. Fakat bu kütüphaneler ekstra performans gerektiren işlevler için dizayn edilmemiştir. Burada DirectX, OpenGL gibi direk olarak bu iş için dizayn edilen kütüphaneler devreye girer. DirectX'i Windows sistemlerden hatırlarsınız.

Oyun motoruna gelicek olursak, bir oyunun yürütülebilmesi için çeşitli prensipler vardır. Bunlar oyun için girişleri kontrol etmek(User inputs), oyun döngüsü(Game loop), oyunda kullanılacak modelleri oluşturma(Modelling), Yapay Zeka(Artificial Intelligence) vb.. gibi prensiplerdir. Bu prensipler her platform veya programcıya göre istenildiği tarzda programlanabilir. İşte oyun motoru dediğimiz yazılım burada devreye giriyor. Tüm bu prensipleri kendi tarzıyla yönetip bizim sadece onun prensiplerine uyarak oyun yazmamızı sağlayan çatılar. Genelde tüm oyun motorlarının bir editörü vardır ve bu editör aracılığıyla oyun motorunun anlayacağı şekilde oyunu dizayn ederiz. Oyun motoru hedef platform(mesela android veya ios) için bize aracılık edip oyun motorunun kendi dilinde yazdığımız oyunu bu platformlarda inşa ederek bizi bu prensipleri tasarlayıp yazmaktan kurtarır. Bir çok yoğun işi üzerimizden alır.

Büyük çaplı oyun motorları kendi işlerine uygun olucak bir veya daha fazla yazılım dili seçerler ve programlamayı bu dil ile yapmamızı ister. Programlamayı oluşturduktan sonra oyun motorunun anlıyacağı dilde bir projemiz olmuş olur. Bu projeyi cross-platform(çarpraz platform yani birden fazla platformda çalışma) olarak inşa etme işini kendileri yaparlar. Tabi bunun bize avantajı her platformun kendi dilinde oyunu tekrardan yazmak yerine oyun motorunun sağladı bu avantajlar sayesinde işimizi single-codebase(tek bir kod yapısı) ile bir çok platformda oyun geliştirebilir olmamızdır. Buna rağmen platform bazlı ufak tefek kod optimizasyonları yapmamız gerekebilir. İşte tüm bu avantajları sağlayan kurgulayan sistemede oyun motoru diyoruz.