Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

potrebna pomoc vezano za igru u openglu

[es] :: 3D programiranje :: potrebna pomoc vezano za igru u openglu

[ Pregleda: 3459 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

c00l3D
SARAJEVO

Član broj: 83098
Poruke: 34
*.PPPoE-4093.sa.bih.net.ba.



Profil

icon potrebna pomoc vezano za igru u openglu28.11.2006. u 21:00 - pre 211 meseci
Imam jedno zanimljivo pitanje za ljude koji ovo znaju :D

Pravim jednu manju igru za fakultet slicna pacmanu samo sto je u 3D okruzenju i likom se upravlja iz treceg lica [tipa Avantura]. E pitanje je sljedece: Kako da "zaljepim" nesto na ekran da to stoji bez obzira na to sto se ja krecem.
Nesto slicno ovom mjeracu brzine i ovim pozicijama i vremenu. Dakle da ono stoji a ja da se krecem.

Koristim gl, glu, glaux [po potrebi moze i glut] a radim u Dev-C++


Everything is possible !!!
 
Odgovor na temu

vlaiv
Vladimir Vlaisavljevic
Novi Sad

Član broj: 15993
Poruke: 352
*.metrohive.net.



+1 Profil

icon Re: potrebna pomoc vezano za igru u openglu29.11.2006. u 15:35 - pre 210 meseci
Poslednji put kada sam se ja time bavio, bejase to nekako ovako:

Idejno resenje baziram na DirectX-u ali kontam da ni OpenGL nije drugaciji po pitanju izvodjenja:

Elem, za svaki element koji hoces da iscrtas na ekranu da ti stoji fiksno, napravis jedan pravougaonik/kvadrat (2xtrougao) znaci
ukupno 4 vertexa, i kada ih iscrtavas, iskljucis sencenje, vektorske transformacije kordinata i das direktno poziciju na ekranu (bejase li
to u opsegu -1,1 po x i y osama ...) ...

I kada ga iscrtavas, zapravo formiras teksturu koja ce sadrzati ono sto zelis da prikazes, i to sa alpha blendom prelepis na dati mesh i
eto ti staticnog elementa ....
 
Odgovor na temu

yooyo

Član broj: 4891
Poruke: 1101
91.148.98.*



Profil

icon Re: potrebna pomoc vezano za igru u openglu02.12.2006. u 12:16 - pre 210 meseci
Code:

void Begin2DMode(int sizex, int sizey)
{
    glMatrixMode(GL_PROJECTION); 
    glPushMatrix();    
    glLoadIdentity();
    glOrtho(0.0, sizex, sizey, 0.0, -1.0, 1.0);
    glMatrixMode(GL_MODELVIEW);     
    glPushMatrix();    
    glLoadIdentity();
}

void End2DMode()
{
    glPopMatrix(); 
    glMatrixMode(GL_PROJECTION); 
    glPopMatrix(); 
    glMatrixMode(GL_MODELVIEW);
}


Pozovi Begin2DMode(800,600) i postavice se koordinatni sistem u gornji levi deo ekrana i imace grid 800x600 (bez obzira na rezluciju ekrana).
Za iscrtavanje brzinometra i sl. koristi texture. Dakle... u texturi npr 256x256 nacrtaj brzinometar, u drugu texturu ubaci font pa crtaj pomocu
glTexCoord2f(u,v); glVertex(x,y,0) komandi. I iskljuci depth test i depth write kada crtas 2d stvari.
Kada zavrsis sa 2d.. samo pozovi End2DMode()

 
Odgovor na temu

c00l3D
SARAJEVO

Član broj: 83098
Poruke: 34
*.PPPoE-5644.sa.bih.net.ba.



Profil

icon Re: potrebna pomoc vezano za igru u openglu03.12.2006. u 00:34 - pre 210 meseci
int DrawGLScene(GLvoid)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
gluLookAt(Kamera.pozicija.x, Kamera.pozicija.y, Kamera.pozicija.z,
Kamera.pogled.x, Kamera.pogled.y, Kamera.pogled.z,
Kamera.UP.x, Kamera.UP.y, Kamera.UP.z);
glPushMatrix();
glTranslatef(Kamera.pogled.x,0.0f,Kamera.pogled.z);
Draw_Character();
glPopMatrix();
Draw_Grid();
Draw_wall(6.4f, 2.0f, 1.0f, 0, 2.0f, -40.0f);
Draw_wall(6.4f, 2.0f, 1.0f, 0, 2.0f, 40.0f);
Draw_wall(1.0f, 2.0f, 6.4f, 40.0f, 2.0f, 0.0f);
Draw_wall(1.0f, 2.0f, 6.4f, -40.0f, 2.0f, 0.0f);
if (loptica[0].GetPokupljena()== false) loptica[0].Draw_Ball(1, 5.0f, -5.0f);
if (loptica[1].GetPokupljena()== false) loptica[1].Draw_Ball(1, -5.0f, 5.0f);
if (loptica[2].GetPokupljena()== false) loptica[2].Draw_Ball(1, 5.0f, 5.0f);
if (loptica[3].GetPokupljena()== false) loptica[3].Draw_Ball(0, -5.0f, -5.0f);
return TRUE;

}

ovo je moj dio koda koji mi iscrtava svijet i radi osnovne stvari koje mi trebaju e interesuje me kako i gdje da sad ubacim onaj tvoj dio koda npr nesto ovako :

Begin2DMode(800,600);
glColor3f(0.0f, 1.0f, 0.0f);
glBegin(GL_QUADS);
glVertex3f(-1.0f, 1.0f, 0.0f);
glVertex3f(-0.8f, 1.0f, 0.0f);
glVertex3f(-0.8f, 0.8f, 0.0f);
glVertex3f(-1.0f, 0.8f, 0.0f);
glEnd();
End2DMode();

Kad stavim ovo u DrawGLScene nista mi se ne desi
Odgovori sto prije ako ti nije problem frka mi je ovih dana imam vremena do 7-og da zavrsim a to mi je jedan veoma vazan aspekt igre radi statistike stvari koje sam do tad uradio [tipa koliko sam skupio loptica, dijamanata, i jos tonu nekih zezancija, te statistika bodova i ime].....
Everything is possible !!!
 
Odgovor na temu

yooyo

Član broj: 4891
Poruke: 1101
91.148.98.*



Profil

icon Re: potrebna pomoc vezano za igru u openglu03.12.2006. u 23:23 - pre 210 meseci
Posle Begin2DMode(800,600) gornji levi ugao ekrana je 0,0 a donji desni 800,600.
Koordinate u vertex pozivima ti nisu dobre.
 
Odgovor na temu

c00l3D
SARAJEVO

Član broj: 83098
Poruke: 34
*.PPPoE-2041.sa.bih.net.ba.



Profil

icon Re: potrebna pomoc vezano za igru u openglu05.12.2006. u 19:55 - pre 210 meseci
E care hvala ti velika ne mozes ni zamisliti koliko me je to kocilo. Tek sam poceo prije dvije sedmice sa OpenGL-om tako da moram malo da se uhodam :)

Kad zavrsim postavicu igru negdje pa da cujem kritike za moj prvi rad [za dva dana cu postaviti]
Everything is possible !!!
 
Odgovor na temu

[es] :: 3D programiranje :: potrebna pomoc vezano za igru u openglu

[ Pregleda: 3459 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.