Forum Sveta kompjutera

Nazad   Forum Sveta kompjutera > Test Run > Programiranje > Pravljenje igara

Pravljenje igara Programski jezici, tehnike, alatke u službi pravljenja igara...

Odgovor
 
Alatke vezane za temu Vrste prikaza
Stara 8.7.2007, 18:03   #1
Andross
Kekule Mekule
 
Avatar korisnika Andross
 
Član od: 8.12.2005.
Lokacija: Beograd
Poruke: 4.128
Zahvalnice: 649
Zahvaljeno 1.348 puta na 690 poruka
Slanje poruke preko Skypea korisniku Andross
Određen forumom Animacija teksture u OpenGL-u

Kako da uradim animaciju teksture u OpenGL-u? Ta animacija je za sprajt, ortografijska projekcija je podesena i ostatak, ali me buni kako da uradim animaciju teksture?
Andross je offline   Odgovor sa citatom ove poruke
Stara 8.7.2007, 18:39   #2
EclipsE
Starosedelac
 
Član od: 16.4.2006.
Lokacija: Scary Movie Reputacija: ■■□
Poruke: 1.337
Zahvalnice: 378
Zahvaljeno 279 puta na 196 poruka
Slanje poruke preko Skypea korisniku EclipsE
Određen forumom Re: Animacija teksture u OpenGL-u

Kako bi bilo da pomerash koordinate teksture za vertexe? Npr. imash teksturu 256x256 i na njoj delove od po 32x32 (dajem samo primer) koje hocesh da animirash, tj. da se npr. vojnik krece. Znaci imash 4 vertexa

Kod:
1------2
|         |
|         |
|         |
3------4
i ne dodelish im koordinatne vrednosti
1 - (0,0)
2 - (1,0)
3 - (0,1)
4 - (1,1)
nego one vrednosti kojim odgovaraju polozaji tih delova, za prvu sliku bilo bi

1 - (0,0)
2 - (0.25,0)
3 - (0,0.25)
4 - (0.25,0.25)
za sledecu
1 - (0.25,0)
2 - (0.5,0)
3 - (0.25,0.25)
4 - (0.5,0.25)

itd... ako si na to mislio ako nisi, reci pa da vidimo...
EclipsE je offline   Odgovor sa citatom ove poruke
Stara 9.7.2007, 14:18   #3
kish
Član
 
Član od: 29.7.2006.
Lokacija: In My Tree
Poruke: 248
Zahvalnice: 32
Zahvaljeno 44 puta na 27 poruka
Slanje poruke preko MSN-a korisniku kish
Određen forumom Re: Animacija teksture u OpenGL-u

Posto ce ti ovako nesto cesto trebati (animacija, tilesets itd.) mozda bi bilo pametnije prvo uraditi proceduru koja iscrtava zeljeni delic texture. Ovako nesto:

Kod:
void DrawImage2dPart(Texture * tex, float x, float y, float bx, float by, float width, float height)
{
	int w=(*tex).width;
	int h=(*tex).height;
	glBindTexture(GL_TEXTURE_2D, (*tex).texID);
	glBegin(GL_QUADS);
		glTexCoord2f(bx/w,1-(by+height)/h); glVertex2f(x,y+height);
		glTexCoord2f((bx+width)/w,1-(by+height)/h); Vertex2f(x+width,y+height);
		glTexCoord2f((bx+width)/w,1-by/h); glVertex2f(x+width,y);
		glTexCoord2f(bx/w,1-by/h); glVertex2f(x,y);
	glEnd();
	glBindTexture(GL_TEXTURE_2D, 0);
}
Drugi nacin bi bio da se pojedini frejmovi animacije cuvaju u posebnim slikama, pa se posle ucita ceo niz textura, pa je posle mnogo lakse baratati sa indexima nego parametrima texture. Naravno, jedna veca textura se brze ucitava nego vise malih, a i zauzima manje memorije... Izgubis na mostu, dobijes na Cupriji
kish je offline   Odgovor sa citatom ove poruke
Stara 9.7.2007, 17:21   #4
Andross
Kekule Mekule
 
Avatar korisnika Andross
 
Član od: 8.12.2005.
Lokacija: Beograd
Poruke: 4.128
Zahvalnice: 649
Zahvaljeno 1.348 puta na 690 poruka
Slanje poruke preko Skypea korisniku Andross
Određen forumom Re: Animacija teksture u OpenGL-u

@kish: Uradio sam ja to josh kad je EclipsE napisao, nego nisam stigo da javim
Andross je offline   Odgovor sa citatom ove poruke
Stara 14.7.2007, 22:33   #5
Andross
Kekule Mekule
 
Avatar korisnika Andross
 
Član od: 8.12.2005.
Lokacija: Beograd
Poruke: 4.128
Zahvalnice: 649
Zahvaljeno 1.348 puta na 690 poruka
Slanje poruke preko Skypea korisniku Andross
Određen forumom Re: Animacija teksture u OpenGL-u

Da ne pravim novu temu, kako da uradim Pixel-Perfect koliziju u OpenGL-u (2D naravno), posto mi je bounding box previse neprecizan?
Andross je offline   Odgovor sa citatom ove poruke
Stara 15.7.2007, 0:55   #6
EclipsE
Starosedelac
 
Član od: 16.4.2006.
Lokacija: Scary Movie Reputacija: ■■□
Poruke: 1.337
Zahvalnice: 378
Zahvaljeno 279 puta na 196 poruka
Slanje poruke preko Skypea korisniku EclipsE
Određen forumom Re: Animacija teksture u OpenGL-u

Prvo trebash da uzmesh pixele i smestish ih u neki niz( pogledaj ovu funkciju glGetTexImage (get pixels from a texture)), e sad, tekstura neka ti bude crno bela, belo je prazno, crno je puno, i kad imash 2 niza uporedjujesh ih ALI morash da imash i u uvid da se ne uporedjuju samo teksture, posto se sprajtovi mogu nalaziti bilo gde u prostoru... Moj predlog ti je da se manesh toga, posto puno pixela = puno proveravanja = male performanse... Ja bih napravio sistem za deljenje sprajtova u bounding boxeve, znaci jedan sprajt, vise bounding boxeva, i time mozesh sebi da skratish proracune mnooooogo... Isto, da imash recimo glavni bounding box koji obuhvata ceo sprajt, i prvo uporedjujesh veliki sa velikim, ako je doslo do kolizije onda svaki mali posebno. Ako hocesh, odradicu ti primer za BitBlt u VB-u ili XNA, C#
EclipsE je offline   Odgovor sa citatom ove poruke
Stara 15.7.2007, 13:37   #7
Andross
Kekule Mekule
 
Avatar korisnika Andross
 
Član od: 8.12.2005.
Lokacija: Beograd
Poruke: 4.128
Zahvalnice: 649
Zahvaljeno 1.348 puta na 690 poruka
Slanje poruke preko Skypea korisniku Andross
Određen forumom Re: Animacija teksture u OpenGL-u

Znam za to proveravanje pixela, al' nisam znao za tu funkciju za dobijanje pixela. Inace svaki sprajt normalno ima jedan BB koji ga obuhvata celog i PP metodu se prvo proverava veliki BB pa tek onda pixel po pixel.
Andross je offline   Odgovor sa citatom ove poruke
Stara 15.7.2007, 13:53   #8
EclipsE
Starosedelac
 
Član od: 16.4.2006.
Lokacija: Scary Movie Reputacija: ■■□
Poruke: 1.337
Zahvalnice: 378
Zahvaljeno 279 puta na 196 poruka
Slanje poruke preko Skypea korisniku EclipsE
Određen forumom Re: Animacija teksture u OpenGL-u

Ali je sasvim nepotrebno! Zamisli dva sprajta 128x128, znaci svaki ima ...... 16 348 piksela... 2 takva ...... 32 768 .... i hocesh da napravish igru a samo za 2 sprajta moracesh da proveravash ne znam ni ja koliko piksela medjusobno! Ako imash bounding box-eve(ili bounding circle-ove) mozesh taj proracun da smanjish na recimo 10-tak proracuna za 2 sprajta! Ali dobro, ako ti tako hocesh, ja ne mogu da te sprecim, samo ti govorim sta je najbolje...
EclipsE je offline   Odgovor sa citatom ove poruke
Odgovor

Bookmarks sajtovi

Alatke vezane za temu
Vrste prikaza

Vaš status
Ne možete postavljati teme
Ne možete odgovarati na poruke
Ne možete slati priloge uz poruke
Ne možete prepravljati svoje poruke

BB kod: uključeno
Smajliji: uključeno
[IMG] kod: uključeno
HTML kod: isključeno


Slične teme
tema temu započeo forum Odgovora Poslednja poruka
Preporuka programa za izradu 3D animacija Dark Rider Grafički softver i radovi 43 27.5.2016 21:27
OpenGL SDK? Andross Pravljenje igara 2 20.6.2007 14:49
DirectX vs OpenGL PeTkO Programiranje 5 1.5.2007 22:23
Wolfenstein + OpenGL problem !!! Helingen O igrama uopšte 3 20.5.2006 15:54
OpenGL 1.3 problem??? ddak Grafika 7 23.12.2005 0:30


Sva vremena su po Griniču +2 h. Sada je 14:44.


Powered by vBulletin® verzija 3.8.7
Copyright ©2000–2024, vBulletin Solutions, Inc.
Hosted by Beograd.com