OpenGL-GLUT Ders 1 :D

Bu başlık kilitlidir. Yeni mesajlar gönderilemez veya mevcut mesajlar düzenlenemez.
gmax136
17-01-2006, 12:42   |  #1  
OP Yıllanmış Üye
Teşekkür Sayısı: 0
108 mesaj
Kayıt Tarihi:Kayıt: Mar 2005

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(( 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*/
}

eger derlerken bir sorun cikarsa yada baska sorulariniz(biraz assembly,php,mysql fln biliyorum) icin  mburakaydin24@hotmail.com ekleyin

gmax136
17-01-2006, 12:44   |  #2  
OP Yıllanmış Üye
Teşekkür Sayısı: 0
108 mesaj
Kayıt Tarihi:Kayıt: Mar 2005

Eklemeyi unuttum Ingilizceniz varsa cok iyi bir forum var oraya bakabilirsiniz,

gmax136
18-01-2006, 22:59   |  #3  
OP Yıllanmış Üye
Teşekkür Sayısı: 0
108 mesaj
Kayıt Tarihi:Kayıt: Mar 2005

arkadaslar istediniz yazdik simdide bakmiyosunuz :D, yada yorum yazmiyosunuz eger takip ediyosaniz 2. yi hazirliyacagim,:D
Nasil olmus?

gmax136
20-01-2006, 12:19   |  #4  
OP Yıllanmış Üye
Teşekkür Sayısı: 0
108 mesaj
Kayıt Tarihi:Kayıt: Mar 2005

ya bi yorum yazin ya :D, 18 kisi bakmis kimse sorum yazmamis kendi kendime konusuyorum :D

Ulakar
21-02-2006, 18:18   |  #5  
Taze Üye
Teşekkür Sayısı: 0
8 mesaj
Kayıt Tarihi:Kayıt: Şub 2006
gmax136
ya bi yorum yazin ya :D, 18 kisi bakmis kimse sorum yazmamis kendi kendime konusuyorum :
Bence yeni baslayanlar icin gercekten guzel bir girisim, ne yazik ki burasi sanirim sadece programlama ile ugrasanlarin odaklandigi bir yer, Eger oyun yapimi ile ugrasiyorsan bizim aramiza katilabilirsin, bunun icin bir oyun wiki hazirliyorum. Belki duymusundur .


Kutuphane basligi altinda. Bu arada bana bir email yazarsan sana daha ayrintili bir kac projeden bahsede bilirim.