Opengl-Glut ile oyun programlama OpenGL nedir? Icinizde eskiden C ve C++ grafiklerini kullanarak oyun yapmaya calisan yoktur herhalde :D Ama sonucta cogumuz bir husrana ugradik ve istedigimiz destegi alamadik, Ama animasyonlari cok kolay ....... lari cok kolay yapabilecegimiz bir eklenti dir OpenGL GLut nedir?: Glut opengl in ozelliklerini tasiyon ama windows un pencere yaratma ..., memory islemlerini kolaylastirmis bir sekilde yapmamiza yarayan bir kit deiyebiliriz; Ihtiyacimiz olanlar; DevCpp yada Visual C(Borland C olmuyor, Ama yapanlar duydum :D ) Glut Kit(www.opengl.org da bulabilirsiniz) glutdlls36.zip i indirdim ben zip li dosyayi actik icinde .h .lib ve .dll ler var .h leri Visual Studio nun Include\GL klasorune atariz .lib leri Visual Studio nun Lib klasorune atariz .dll leri de windows\system32 ye atariz Simdi Visual C ile glut kullanarak basit bir ornek; Visual C yi actik File->New->Projects->WIn32 Console Application proje adi olarak istediginiz bisi girebilirsiniz File->New->Files->C++ source file istedigimiz adi girebiliriz Proje Ayarlari: NOT:Simdi yapacagimiz ayarlar her proje icin tekrarlanacak Project->Settings->Link->Object/Library Modules e opengl32.lib glut32.lib glu32.lib leri ekliyoruz ve KoD: #include <GL/glut.h> void renderScene(void){//cizimleri yapacak fnksyion her zmn void olur glClear(GL_COLOR_BUFFER_BIT); /*gl clear bir opengl fonksiyonu ve bu fonksiyon zorunlu bu genelde temizleme yani grafiklerin gorulmesi icin on hazirlik diyebilirz*/ glBegin(GL_TRIANGLES); /*bir GL_TRIANGLES triangles cizimine basla, GL_TRIANGLES bize bir ucgen cize ve ucgenin 3 kosesi vardir, her kosenin koordinatlarini ayri ayri girecegiz*/ /*glVertex(x,y,z); burda x,y,z float tipinde olmali, z(derinlik) simdilik sifir,Burda simdilik bu degerler en fazla 1.0 olurm bu viewport la ilgili bu onumuzdeki derste anlatacagim */ /*glColor3f(red(max1.0),green(max1.0), blue(max1.0)); bu renklendirmek icin*/ glColor3f(1.0, 0.0, 0.0);//birinci noktanin rengi glVertex3f(-0.5,-0.5,0.0);//birici nokta glColor3f(0.0, 1.0, 0.0);//ikinci noktanin rengi glVertex3f(0.5,0.0,0.0);//2. nokta glColor3f(0.0, 0.0, 1.0);//3. noktanin rengi glVertex3f(0.0,0.5,0.0);//3. nokta glEnd();//cizimi bitir glFlush();//memory yi temizle... }//cizim fonksyionu bitisi void main(int argc, char **argv) {/*bu ana fonksyionun pencere is.vb burda int argc,char **argv openglin gonderecegi komutlari almak icin yani kisacasi bunlar yazilmak zorunda, her zaman ayni kalir bunu anlamak icin kendinizi kasmayin */ glutInit(&argc, argv);//burda GLUT motorunu harekete gecirdik glutInitDisplayMode(GLUT_DEPTH | GLUT_SINGLE | GLUT_RGBA); /* burda displaymod u ayarladik GLUT_DEPTH(derinlik olacagini soyluyor ama daha isimize yarimiyor zaten z ekseniyle oynasa niz bile bisey degismez :D), GLUT_SINGLE(program tek katmana sahip olacak, genelde animasyon,kaplama vb, de cift katman yani GLUT_DOUBLE olur), GLUT_RGBA (ise renk sinifi gibi bisi, hani rgb fln varya) | isareti ile hepsini birlikte kullanabiliyoruz*/ glutInitWindowPosition(100,100); /*pencerenin x ve y si nereye gelecek onu belirler yani pozisyon*/ glutInitWindowSize(320,320);//pencere boyutu glutCreateWindow("Burak Aydin");//pencere basligi glutDisplayFunc(renderScene); /*hng fonksiyonun cizim yapacagini belirttik*/ glutMainLoop(); /*programin surekli tekrarlamasi icin, bu olmassa pencere acilip kapanir*/ } kaynak: www.programlama.com
27 Şubat 2008 Çarşamba
Opengl-Glut İle Oyun Programlama
Kaydol:
Kayıt Yorumları (Atom)
1 yorum:
teşekkürler başlangıç için iyi bir yazı olmuş
Yorum Gönder