![]() |
| |||||||
| Programlama C,Delphi,Visual Basic ve diğer tüm programlama dilleri hakkında dökümanlar ve bilgilerin merkezi |
| | |
|
| | LinkBack | Konu Seçenekleri |
| | #1 |
| Halk ![]()
Mesajlar: 20
Puan: 100 | Opengl grafik kütüphanesi, oyun programcılığında ,grafiğin oluşturulması, dönüşümleri, aydınlatma bilgileri gibi verileri sağlar. Bu kütüphane, klavye, fare,ekran ve ses gibi etkileşim ve etkilere destek sağlamaz. Bu türden ihtiyaçları sağlamak için yardımcı kitaplıklardan faydalanılır. Bunlardan bazıları,win32, glut, glx, sdl vb api lerdir. Konuyu sdl olarak seçtiğim için sdl hakkında,yalın anlaşılması kolay bilgiler sunmaya çalışacağım. Glut'a aşina olanlar için yer yer glut ve sdl yi karşılaştırarak sdl komutlarına açıklık getireceğim. Sdl, “simple directmedia layer” İngilizce cümlesinin baş harflerinin toplamıdır. Yani, dolaysız doğrudan çoklu ortamı ifade eder ve glut gibi işletim sisteminden bağımsız kullanımı kolay bir kütüphanedir. Sdl yi kullanmaya başlamadan önce, kullandığınız derleyicinizde birtakım ayarlar yapmanıza gerek vardır. Benim kullandığım size de önereceğim dev-cpp derleyicisinde bu ayarların nasıl yapılacağını kısaca anlatayım. Dev-cpp derleyicisini kurduktan sonra, araçlar sekmesinden güncelleme mönüsünü tıklayın, sdl-1.2.11 kitaplığını işaretleyerek sdl yi derleyicinize yükleyebilirsiniz. Yada google arama motoruna sdl-1.2.11-1mgl.DevPak yazarak dosyayı doğrudan sanalağ (internet) üzerinden indirip, üzerine çift tıklayarak kütüphaneyi kurabilirsiniz. Bu işlem, sdl dosyalarını derleyicinin gerekli yerlerine yerleştirerek, gerekli ayarlamaları yapacaktır. Bu işlemden sonra “dev-cpp” dizininin içindeki “BİN” dizininde bulunan “sdl.dll” dosyasını, Windows\system dizinine kopyalayın. Artık derleyiciniz kullanıma hazır hale gelmiştir. Şimdi derleyicimizi çalıştırıp, yeni bir boş proje (empty Project) açalım. Proje Ayarlar bölümünden “Win32 GUI” seçin, parametr sekmesinin bağlayıcı(linker) kutusuna da sırasıyla ve bir boşluk bırakarak veya alt alta yine sırasıyla aşağıdaki “lib” doyalarını girin: -lmingw32 -lSDLmain -lSDL veya -lmingw32 -lSDLmain -lSDL yazdıktan sonra, dosya menüsünden “yeni kaynak kodu dosyası” açıp yeni programınızı yazabilirsiniz. HTML Code: #include <SDL/SDL.h> #include <stdlib.h> SDL_Event olay; void sdl_ayar(void) { SDL_Init(SDL_INIT_VIDEO); SDL_SetVideoMode(600, 300, 32, SDL_HWSURFACE ); } int main(int argc, char *argv[]){ sdl_ayar(); SDL_Quit(); return(0); } sdl_ayar() işlevi de adından anlaşılacağı üzere, sdl kütüphanesinin açılış ayarlarını yapmaktadır ve program içinde ilk çalıştırılacak işlev bu olmalıdır. Bu işlev içinde, grafik, ses, zamanlayıcı,cdroom gibi alt dizgelerden birinin veya hepsinin açılması yapılabilir. Aynı zamanda penceremizin boyutları, tek veya çift tamponlu olup olmayacağı hakkındaki işlemlerde bu alanda karar verilip uygulanır. Bu gerekli ayarlamalardan sonra sdl_Quit() işlevi ile sdl programımızın sonu gelir ve sdl den çıkış sağlanmış olur. Sdl_ayar() işlevi içinde yer alan; SDL_Init(); işlevinin argümanlarını inceleyelim. Bu işlev ,sdl tarafından kullanılan alt dizgeleri etkinleştirmeye yarar. Bu alt dizgelerin yalnızca birini kullanacağımız gibi, ihtiyaca göre diğer alt dizgeleri de, birbiri ile bit düzeyinde “veya” layarak ( | ) bir arada kullanabiliriz. SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO ); Burada grafik ve ses alt dizgeleri birlikte kullanılmıştır. Bunun gibi, SDL_INIT_TIMER, SDL_INIT_CDROM, SDL_INIT_JOYSTICK alt dizgelerine de aynı yöntemi uygulayabiliriz. Yada SDL_INIT_EVERYTHING argümanını kullanarak, SDL_Init(SDL_INIT_EVERYTHING); Tüm alt dizgeleri etkin hale getirebiliriz. Sıradaki SDL_SetVideoMode() işlevi, grafiklerimizi yansıtabileceğimiz bir pencere yaratmaktan sorumludur. İlk iki argüman pencerenin piksel boyutunu ayarlar. Üçüncü argüman piksel derinliği ifade eder. Son argüman , programımıza bağlı olarak çeşitli kip değerleri alabilir. Yukarıdaki örnek programımızda SDL_HWSURFACE kullanılmıştır. Bu, pencere ki verilerin ekran kartının belleğinde saklanacağını bildirir. |
|
![]() |
| Konuyu toplam 0 üye ve 1 ziyaretçi okuyor | |
| Konu Seçenekleri | |
|
|
Benzer Konular | ||||
| Konu | Konuyu Açan | Forum | Cevaplar | Son Mesaj |
| TARİH BİLİMİNE GİRİŞ | teox | Tüm Konular | 1 | 26.10.2008 10:37 |
| İnternete GİrİŞ Sayfasi Explorer Kİtlenmesİne ÇÖzÜm | tanrubeyf | İnternet Genel | 27 | 3.04.2008 18:17 |