Forum Sveta kompjutera

Nazad   Forum Sveta kompjutera > Test Run > Programiranje > Pravljenje igara
Uputstvo Članstvo Kalendar Današnje poruke Pretraži

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

Odgovor
 
Alatke vezane za temu Vrste prikaza
Stara 27.7.2007, 23:02   #1
Patton
Deo inventara foruma
 
Avatar korisnika Patton
 
Član od: 1.11.2005.
Lokacija: Silent Hill
Poruke: 4.647
Zahvalnice: 157
Zahvaljeno 904 puta na 493 poruka
Slanje poruke preko ICQ-a korisniku Patton Slanje poruke preko MSN-a korisniku Patton Slanje poruke preko Yahooa korisniku Patton
Cool 3d Engine - ali za mobilne uređaje!

UVOD U CELU PRICU

Pa ovako. U poslednje vreme imam nesto vise slobodnog vremena, a i javila se neka potreba za ispoljavanje kreativnosti kod mene; stoga sam resio da zapocnem jedan programerski projekat, onako za sebe posle duzeg vremena. Nisam razradio sve detalje, nisam trosio vreme na organizaciju, a i ne gledam daleko u buducnost projekta, niti znam kuda ce me sve ovo odvesti. Resio sam onako da ga zapocnem, pa da vidimo kako ce se razvijati i da li ce imati neki potencijal. Mozda napravim nesto pametno, mozda se smorim posle mesec dana, videcemo, sve je moguce. Uostalom, ovim projektom ne bezim daleko od svog pravog posla, tako da ako nista drugo, usavrsavam se i skupljam nova iskustva.

Dakle, kao sto se iz naslova moze videti, zapoceo sam rad na 3D engine-u. Iskustva iz te oblasti imam, jer sam nesto slicno radio pre 8 godina u asembleru za DOS i malo posle toga u C++ koristeci OpenGL. Ovo sto sad planiram se ipak malo razlikuje od toga. To je 3D engine za "pametne" mobilne telefone. Krajnji cilj mi je naravno, da ga napravim tako da moze lako da se portuje na bilo koju mobilnu platformu; ali otom potom.

Po cemu se mobilni uredjaji razlikuju od desktop masina? Pre svega imaju mnogo slabije procesore i mnogo manje memorije, tako da kod mora biti jako optimizovan. Imaju ekrane mnogo manje rezolucije i ta rezolucija varira od 176x208 (stariji Symbian telefoni) do 320x320 (noviji Palm uredjaji), tako da grafika mora biti optimizovana za sve rezolucije. Nemaju nikakve 3D akceleratore i rad sa bilo kakvim realnim (float) brojevima je jako sporo, tako da sve sto se pise mora se pisati "rucno". Sta znati to rucno? To znaci da koristeci OpenGL, treba vam tacno 13 naredbi da biste dobili 4-ugaoni texturirani poligon u kojem svaki vertex ima svoju boju, pa se na osnovu tih boja i textura drugacije farba. Ako hocete to isto da uradite softverski, pored solidnog znanja matematike, trebace vam i jedno 300 linija koda (po mogucstvu bez bagova). Cemu ovakav mazohizam? Kazem vam, imam viska slobodnog vremena + jedino ako rucno pisete neke stvari, shvaticete kako te stvari zaista rade i gde se primenjuje ta silna matematika koju svi ucimo u skolama i na fakultetima.

Odlucio sam takodje da „dnevnik“ tog projekta vodim na ovom forumu. Mozda se nekom svidi, mozda neko ima neki predlog, sugestiju, mozda ce neko nesto da nauci od mene, mozda cu ja nauciti nesto od nekoga; ako sve propadne i odustanem od svega, imacu barem materijala za knjigu, da je objavim i zaradim koji filer. Vasi komentari su dobrodosli, isto tako i pitanja; sa druge strane, svaki offtopic ce se momentalno brisati.
Patton je offline   Odgovor sa citatom ove poruke
Stara 27.7.2007, 23:02   #2
Patton
Deo inventara foruma
 
Avatar korisnika Patton
 
Član od: 1.11.2005.
Lokacija: Silent Hill
Poruke: 4.647
Zahvalnice: 157
Zahvaljeno 904 puta na 493 poruka
Slanje poruke preko ICQ-a korisniku Patton Slanje poruke preko MSN-a korisniku Patton Slanje poruke preko Yahooa korisniku Patton
Određen forumom Re: 3d Engine - Ali za mobilne uredjaje!

Posto svako ko se pojavi na ovom forumu sa ovako lepom uvodnom recju, a da pritom, nista nije uradio, biva momentalno proteran i ismejavan naredne dve stranice, ja sam odlucio da odmah i postujem neke stvarcice koje sam radio protekla tri dana

Na vasu veliku zalost, (za sada) postovacu samo screenshotove, jer se radi o programu za mobilne uredjaje, tako da cete morati da mi verujete da ove slike nisam radio u Mayi i posle obradjivao u Photoshopu. Test platforma je Treo u PalmOS verziji. Ekran je rezolucije 320x320 sa 16bit paletom boja (5:6:5). Kolicina memorije je oko 20mb, ali to i nije toliko bitno.
Patton je offline   Odgovor sa citatom ove poruke
Sledećih 2 korisnika se zahvaljuje korisniku Patton na korisnoj poruci:
3dM@niak (27.7.2007), MG-RAY (28.7.2007)
Stara 27.7.2007, 23:06   #3
Patton
Deo inventara foruma
 
Avatar korisnika Patton
 
Član od: 1.11.2005.
Lokacija: Silent Hill
Poruke: 4.647
Zahvalnice: 157
Zahvaljeno 904 puta na 493 poruka
Slanje poruke preko ICQ-a korisniku Patton Slanje poruke preko MSN-a korisniku Patton Slanje poruke preko Yahooa korisniku Patton
Određen forumom Re: 3d Engine - Ali za mobilne uredjaje!

PRVI KORAK – CRTANJE POLIGONA

Dakle pocinjemo… moj prvi korak u ovom projektu... sta je ono sto cini jednu 3d scenu, sta je ono sto mi zapravo vidimo na ekranu? To su poligoni. Svaka scena se sastoji iz objekata, svaki objekat se sastoji iz poligona. Za pocetak, ne interesuje me kako cu organizovati scenu, ne interesuje me kako cu organizovati objekte, ne interesuje me (a i tek treba da naucim) kako cu pomerati kameru kroz scenu; interesuje me samo kako cu nacrtati proizvoljno definisan poligon. Na brzaka sam sklepao par stvari, cisto da bih imao sa cime da radim:

- da mogu da definisem koordinate vertexa nekog 3d objekta
- da mogu da definisem stranice tog objekta (koji vertexi cine koju stranicu)
- da mogu te vertexe da rotiram u prostoru oko sve tri ose
- da mogu te izrotirane vertexe da transformisem u 2d tacke koje cu prikazivati na ekran


Trenutno nije bitno kako ove stvari koje sam do sad uradio rade, a verujem da mogu jos dosta i da se optimizuju; objasnicu ih kada bude bilo vreme za to. Bitno je: da sam dobio te transformisane 2d tacke pomocu kojih cu crtati poligone. Svaki takav poligon se sastoji iz cetiri tacke, a svaka tacka za sada ima:

- X koordinatu na 2d ekranu
- Y koordinatu na 2d ekranu
- BOJA koja se sastoji iz R, G, B komponente i Alfa kanala


Bitna stavka o kojoj treba razmisljati. Na koje sve nacine planiramo da crtamo poligone? Na raspolaganju nemamo azdaju od masine, tako da moramo paziti na performanse. Kakve 3d igre postoje sada za telefone? Maximum koji sam ja video jeste texturirani poligon bez osvetljenja ili eventualno sa nekim laznim osvetljenjem (kao npr. Doom II). Tako da sam (opet) za pocetak odlucio da napravim funkcije za crtanje:

- tackastih poligona svaka tacka poligona predstavljena je... hmm... tackom
(ovo ce se koristiti samo za neka testiranja i debagovanje)

- wireframe poligona gde su tacke poligona spojene obicnim linijama
http://en.wikipedia.org/wiki/Wire_frame_model

- flatshade poligona gde je ceo poligon obojen jednom bojom
http://en.wikipedia.org/wiki/Shading (slika pri dnu stranice)

- gouraud shade poligona gde svaka tacka ima odredjenu boju i interpoliranjem i
mesanjem tih boja dobija se poligon koji nije obojen konstantnom bojom
http://en.wikipedia.org/wiki/Gouraud_shading

- texture mapped poligona kod kojih se slika lepi na stanicu
http://en.wikipedia.org/wiki/Texture_mapping

Uradio sam prva cetiri nacina, pre nego sto se bacim na ovaj poslednji (najtezi), hajde prvo da vidimo kakvi su rezultati. Kao primer koristim najprostiji moguci objekat – kocku. Kako vam se cini
Priložene slike
Kliknite na sliku za veću verziju

Ime:	1.gif
Viđeno:	22 puta
Veličina:	2,2 KB
ID:	9693   Kliknite na sliku za veću verziju

Ime:	2.gif
Viđeno:	17 puta
Veličina:	2,1 KB
ID:	9694   Kliknite na sliku za veću verziju

Ime:	3.gif
Viđeno:	20 puta
Veličina:	4,9 KB
ID:	9695  
Patton je offline   Odgovor sa citatom ove poruke
Stara 27.7.2007, 23:45   #4
Andross
Kekule Mekule
 
Avatar korisnika Andross
 
Član od: 8.12.2005.
Lokacija: Beograd
Poruke: 4.134
Zahvalnice: 649
Zahvaljeno 1.354 puta na 693 poruka
Slanje poruke preko Skypea korisniku Andross
Određen forumom Re: 3d Engine - Ali za mobilne uredjaje!

Pa... Kockasto
Ne znam koliko je tesko uraditi kocku na mobile uredjaju, ali verovatno je to dobro sto si do sada postigao. Samo tako nastavi!!!
Andross je offline   Odgovor sa citatom ove poruke
Stara 28.7.2007, 0:45   #5
Stevvan
Veteran
 
Član od: 17.12.2005.
Lokacija: Zarkovo, Beograd
Poruke: 1.114
Zahvalnice: 97
Zahvaljeno 179 puta na 104 poruka
Slanje poruke preko MSN-a korisniku Stevvan Slanje poruke preko Skypea korisniku Stevvan
Određen forumom Re: 3d Engine - Ali za mobilne uredjaje!

Ako se ta kocka rotira/pomera da li bi mogao da kazes koliki je fps. Mislim da bi to dalo najbolju sliku koliko je engine trenutno napredovao.
Stevvan je offline   Odgovor sa citatom ove poruke
Stara 28.7.2007, 6:19   #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: 3d Engine - Ali za mobilne uredjaje!



kad zavrsish dajesh source?
EclipsE je offline   Odgovor sa citatom ove poruke
Odgovor

Bookmarks sajtovi


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
Direct3D 9 Engine Geomaster Programiranje 21 24.10.2008 17:00
Koji mi engine preporucujete??? PeTkO Pravljenje igara 8 26.7.2007 13:45
2d game engine Damjan Pravljenje igara 48 22.6.2007 11:35
N2D Engine EclipsE Pravljenje igara 4 22.8.2006 23:34


Sva vremena su po Griniču +2 h. Sada je 15:09.


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