játékfejlesztés.hu
FórumGarázsprojectekCikkekSegédletekJf.hu versenyekKapcsolatokEgyebek
Legaktívabb fórumozók:
Asylum:    5512
FZoli:    4894
Kuz:    4455
gaborlabor:    4449
kicsy:    4304
TPG:    3402
monostoria:    3284
DMG:    3172
HomeGnome:    2919
Matzi:    2529

Pretender:    2498
szeki:    2440
Seeting:    2306
Geri:    2198
Orphy:    1893
Joga:    1791
Bacce:    1783
MaNiAc:    1735
ddbwo:    1654
syam:    1491
Frissebbek | Korábbi postok
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [15] [20] [25] [30] [35] [40] [45] [50] [55] [60] [65] [70] [75] > 80 < [82]
Hacker - Guests | hsz       Online status #4501   2005.09.12 10:48 GMT+1 óra  
Hellósztok!

Írtam egy Objektum Loader programot OpenGL API-val Delphi alatt, de lenne egy kis problémám a a hátulsó lapok takarásával. Mellékelek egy képet: . Ezeket engedélyeztem:

glShadeModel(GL_SMOOTH);
glClearDepth(1.0);
glEnable(GL_DEPTH_TEST);
glDepthFunc(GL_LESS);
glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
glEnable(GL_TEXTURE_2D);

Kamera meg így van:

glViewport(0,0,Width,Height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity;
gluPerspective(45,Width/Height,0,100);
gluLookAt(pos.x,pos.y,pos.z,lookat.x,lookat.y,lookat.z,1,0,0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity;

És a kérdésem: Miért így rajzolja ki a Föld gömbet???

Programozz ne háborúzz!!!

   
Ninja - Guests | hsz       Online status #4500   2005.09.02 03:15 GMT+1 óra  
Köszi szépen! Amúgy most tanulom az oop-t, mert nem csak a c++ nál hatásos, hanem más prgnyelveknél is! De még1x köszi az info-t.

GAMBATTE!!!

   
Gaborious - Guests | hsz       Online status #4499   2005.09.02 02:56 GMT+1 óra  
Idézet
Ninja írta:
Valamint, még egy kérdés!
Tanultam programozást csak az volt a gond, hogy nem volt specifikus, ugyanis vagy 4-5 prg nyelvet kezdtek belénk tuszkolni, így semmi esély nem volt, hogy tanár segítségével megtanuld használni, mondjuk, a c++ nyelvet. Így egy csomó programnyelvhez értek, de egyikkel sem tudok kiemelkedõt alkotni, mivel a c++ tanárunk annyit mondott pl. a .h fejléc fájlokról, hogy
Huh. ez nem lesz easy ride.

Nos a szindróma ismerős:
"csináljunk játékot"
ennél durvább: "irjunk enginet" (melyik enginet?)
a nagyon durva: "csináljunk má játékot ,mondjuk egy 3d-s RPG-t"

Sok lelkes emberke kapásból ugrana a sűrűjébe ami HELYES csak egy kicsit még tanulni kell hozzá. NEM feltétlenül a suliban mert ott TUTI nem tanitanak meg ilyenre (általában még az egyetemen sem)

Elrettentésnek ajánlom a Quake2 vagy Quake3 forráskódját (ingyenesen letölthető) átnézni, csak hogy lásd hogy pl egy lövöldözős (na jó ,nem akármilyen, de nemsokára ezek már őskövületek lesznek) játék miből áll.

Ami fel fog tünni: BOrZasztó hosszú, nem hiába több évig készült.

Nos mivel kezdőként ne akarjunk nagyot harapni ajánlom a kis játékokat.

Ajánlom programozd le ezeket a játékokat c/c++ ban.

snake (kigyó)
arkanoid (faltörő)

ezek adnak egy kis tapsztalatot.

ha tovább akarsz lépni akkor csak tipként ajánlanám saját pascalos játékomat, amiben megnézheted h kb hogy néz ki egy pici 1*rű játék lelke.
http://gaborious.uw.hu/publicsrc/ships.zip

ha ez megvolt, lehet melyiteni c++ tudásodat és kezdjél objektumokban/osztályokban gondolkodni. Isten hozott az Objektum orientált programozás (OOP) tudományában.

Olvassál el pár könyvet c++ ról pl:
Modern c++ design
Adison Wesley féle C++ hibajavitó, C++ (2 vaskos könyv referenciaként is kitűnő)

ha megvolt kezd el nyálazni a netet.
www.devmaster.net
www.gamedev.net
stb...

Hogy miért c++? hát azért mert abban fejlesztik a programok túlnyomó részét illetve a játékok 95%-át.
sok sikert.


Codito ergo bumm

   
Ninja - Guests | hsz       Online status #4498   2005.08.30 05:37 GMT+1 óra  
Valamint, még egy kérdés!
Tanultam programozást csak az volt a gond, hogy nem volt specifikus, ugyanis vagy 4-5 prg nyelvet kezdtek belénk tuszkolni, így semmi esély nem volt, hogy tanár segítségével megtanuld használni, mondjuk, a c++ nyelvet. Így egy csomó programnyelvhez értek, de egyikkel sem tudok kiemelkedőt alkotni, mivel a c++ tanárunk annyit mondott pl. a .h fejléc fájlokról, hogy "Hát a conio.h-ban van képernyőtörlés, meg a többi .h -ban más dolgok". Az algoritmusokat vágom, buborékrendezés, sorozat meg minden.
DE!
Hogy a rossebbe kezdjek el egy saját engine-t? Mit nézzek át? Mert egy dolog, hogy pl. OpenGl-ben már tudok pár dolgot, de pontosan mi lenne a menete egy működő (primkó) engine-nek? Bocsánat a hülye kérdésekért, de sajna az iskola ahol tanították, nem nagyon tért ki az ilyen dolgokra.

GAMBATTE!!!

   
Ninja - Guests | hsz       Online status #4497   2005.08.30 04:44 GMT+1 óra  
Köszi, akkor majd átnézem az egészet!

GAMBATTE!!!

   
cs_adam - Guests | hsz       Online status #4496   2005.08.30 04:40 GMT+1 óra  
Egy más által készített kóddal elég nehéz dolgozni. Ha mákod van, akkor van hozzá valami dokumentum, ami leírja, hogy mi mit csinál. Illetve jó (és sok) jegyzet van a kódban. Ha nincs, akkor meg szép lassan meg kell ismerned. A legegyszerűbb, ha szekvenciálisan kezded böngészni a belépési pontjától. De arra ne számíts, hogy egy óra nézegetés után frankón ismerni fogod az egész motor működését.
Ha már sikerült megbarátkozni vele, akkor meg olyanná teheted, amilyenné csak akarod! (persze az se két perces munka... )

Cs.Ádám

   
Ninja - Guests | hsz       Online status #4495   2005.08.30 04:29 GMT+1 óra  
Hi! Most egy rettenetesen hülye kérdést fogok feltenni és az összes csúcs programozó a fejét fogja majd.
Letöltöttem a quake 3 forráskódját...
Hogyan tudok vele bármit is kezdeni?

GAMBATTE!!!

   
Ninja - Guests | hsz       Online status #4494   2005.08.29 06:49 GMT+1 óra  
Értem. Akkor kénytelen leszek annak is neki állni, de annyira nem fekszik az a rengeteg, negyven sor hosszú függvény deklarálás meg definiálás, hogy az hihetetlen. Remélem azért nem kell a kernel-ig beleásni a dolgokba!

GAMBATTE!!!

   
Hacker - Guests | hsz       Online status #4493   2005.08.29 06:10 GMT+1 óra  
Igen sajnos én is megnéztem, és kiszedték az ingyenes részlegből és van pofájuk 20$-ért árulni . Amúgy Ninja még annyit, hogy ha komolyon gondolkozol az OpenGL-en akkor valamennyire meg kell majd barátkoznod a Windows API-val, mert a GLUT csak a kezdőknek jó. De erre majd te is rájösz. Windows programozáshoz ajánlom a Visual C++ (kezdőknek), mert itt sokkal egyszerűbb megszerkezteni az erőforrásokat, mint a Dev-C++-ban. De most én áttértem a Delphire, mert hihetetlenül könnyű inicializálni az OpenGL-t.

Programozz ne háborúzz!!!(Módosította Hacker 2005.08.29. 14:14-kor)

   
Ninja - Guests | hsz       Online status #4492   2005.08.29 05:15 GMT+1 óra  
Lehet, hogy én vagyok a béna, de nem találtam a gametutorials.com -on a free részlegben md2-3 segédletet...még keresem...

GAMBATTE!!!

   
Ninja - Guests | hsz       Online status #4491   2005.08.29 04:42 GMT+1 óra  
gymisi .pdf-jét még nem sikerált megnéznem, de Hacker linkje az nagyon üt!!! Végre nem csak értelmezni próbálom a forrásokat, hanem mostmár tudom is miket írok le!!! Yes!!!

Ezért szeretek itt dumálni, mert itt segítik egymást az emberek és nem ölik halomra a másikat egy idióta beszólás miatt.
Szal Tenksz mindenki!!!

GAMBATTE!!!

   
gymisi - Guests | hsz       Online status #4490   2005.08.29 03:07 GMT+1 óra  
Idézet
Ninja írta:
Nagy dilemma után úgy döntöttem, hogy az OpenGl -t fogom használni, de jó lenne egy pár tutorial. Tudom, hogy NeHe királyul leírja, de a Windows programozásban nem vagyok valami jó, viszont a Glut-os megoldásokkal egyszerűen lehet ablakot létrehozni.
Két kérdésem lenne:
- Létezik-e magyar tutorial?
- Hogyan lehet ezzel az md2-md3-al bánni?

GAMBATTE!!!
Ninja itt van még magyar leírás: Juhász Imre írta, [url="http://gymisi.uw.hu/OpenGL.pdf">http://gymisi.uw.hu/OpenGL.pdf [/url]

Akkor tudsz valamit,ha tudod, hogy mit nem tudsz! (Módosította gymisi 2005.08.29. 11:07-kor)(Módosította gymisi 2005.08.29. 11:08-kor)

   
Hacker - Guests | hsz       Online status #4489   2005.08.29 02:19 GMT+1 óra  
Köszi gymisi! Bár még nem mindig tökéletes, de egy kicsivel előrébb jutottam.

Programozz ne háborúzz!!!

   
Ninja - Guests | hsz       Online status #4488   2005.08.29 02:14 GMT+1 óra  
Köszi, köszi, köszi!!!!



GAMBATTE!!!

   
Hacker - Guests | hsz       Online status #4487   2005.08.29 02:11 GMT+1 óra  
Idézet
Ninja írta:
Nagy dilemma után úgy döntöttem, hogy az OpenGl -t fogom használni, de jó lenne egy pár tutorial. Tudom, hogy NeHe királyul leírja, de a Windows programozásban nem vagyok valami jó, viszont a Glut-os megoldásokkal egyszerűen lehet ablakot létrehozni.
Két kérdésem lenne:
- Létezik-e magyar tutorial?
- Hogyan lehet ezzel az md2-md3-al bánni?

GAMBATTE!!!
Igen létezik magyar tutorial. Az elsőt a www.codexonline.hu oldalán találhatod meg, de van egy másik is: http://www.inf.u-szeged.hu/oktatas/jegyzetek/KubaAttila/opengl_html/index.html
Ez ilyen egyetemi jegyzetekből áll.
MD2/MD3 betöltőt azthiszem le lehet tölteni a www.gametutorials.com ingyenes részlegéből.

Programozz ne háborúzz!!!

   
Ninja - Guests | hsz       Online status #4486   2005.08.29 02:02 GMT+1 óra  
Nagy dilemma után úgy döntöttem, hogy az OpenGl -t fogom használni, de jó lenne egy pár tutorial. Tudom, hogy NeHe királyul leírja, de a Windows programozásban nem vagyok valami jó, viszont a Glut-os megoldásokkal egyszerűen lehet ablakot létrehozni.
Két kérdésem lenne:
- Létezik-e magyar tutorial?
- Hogyan lehet ezzel az md2-md3-al bánni?

GAMBATTE!!!

   
gymisi - Guests | hsz       Online status #4485   2005.08.28 11:41 GMT+1 óra  
Hát talán segít valami:[url="http://gymisi.uw.hu/shap2dsource.htm">http://gymisi.uw.hu/shap2dsource.htm[/url]
a kódot szépség szempontjából ne nagyon nézd elég gány yah ez még nehe alapokon van!

Akkor tudsz valamit,ha tudod, hogy mit nem tudsz! (Módosította gymisi 2005.08.28. 19:41-kor)

   
Hacker - Guests | hsz       Online status #4484   2005.08.28 11:30 GMT+1 óra  
Helló!

Csinálgatok OpenGL-ben egy 2D-s játékot, de már máris elakadtam . A problémám az ütközés vizsgálatával lenne. Van egy téglalapom, textúrázva (egy kocsi lenne) és tudom irányítani (tudok vele kormányozni, gyorsulni stb.). Ezeket a glTranslatef és glRotatef utasításokkal oldottam meg. Eddig nincs semmi baj, de szeretném, hogy ne menjen ki a pályáról, csakhogy nemtudom hogyan kérjem le az adatokat (pontosabban, hogy hol van). Itt lenne a probléma. Ja amúgy Delphi-ben írom, de ez nem számít, mert C-ül is értek .

Programozz ne háborúzz!!!

   
Birmacher - Guests | hsz       Online status #4483   2005.08.26 05:15 GMT+1 óra  
hy, újra itt... csinálgatok 1 játékot, ami nálam elfut kb. 30fpsel, és arra állítottam be a játékos mozgásának a sebességét, de ha 1 másik gépen futtatom, akkor ott lassabban, v gyorsabban rohangászik a figura... na én arra gondoltam h lekérem az fps-t és az akkori értékkel állítom be a cuccost, és folyamatosan változtatom... no the end
az érdekelne, h ez a jó +látás, v van jobb 5letetek?

gotoAndPlay()

[url="http://10e-tmg.uw.hu" target="_blank">oszt honlapom[/url]

   
balogh9 - Guests | hsz       Online status #4482   2005.08.23 07:44 GMT+1 óra  
(Módosította balogh9 2005.08.23. 15:58-kor)

   
Birmacher - Guests | hsz       Online status #4481   2005.08.23 07:13 GMT+1 óra  
Már +van, de azért köszi

gotoAndPlay()

[url="http://10e-tmg.uw.hu" target="_blank">oszt honlapom[/url]

   
nagyy - Guests | hsz       Online status #4480   2005.08.23 05:32 GMT+1 óra  
Birmacher, ha kell még a png betöltő, akkor nézd meg itt:

http://www.libpng.org/pub/png/libpng.html

ui.: Én még nem használtam, csak most véletlenül rátaláltam.

nagyy

   
cs_adam - Guests | hsz       Online status #4479   2005.08.23 01:46 GMT+1 óra  
Ezzel két baj is van:
1: Normálvektorokat számolni futás közben felesleges, hiszen konstansok.
2: Ha a kockának három szomszédos oldala látszódik, akkor elég fura eredményt kapnál.

Cs.Ádám

   
nagyy - Guests | hsz       Online status #4478   2005.08.23 01:36 GMT+1 óra  
A probléma ennél is ugyanaz, hogy 3 normál tartozik egy ponthoz, és ezt indexpufferrel nem igazán lehet megoldani (legalábbis én nem tudom). Egyébként a kocka csak egy példa volt, ez egy 3ds modell megjelenítőhöz kéne, abban meg bármilyen geometriájú alakzat lehet. Igaz, azt lehetne, hogy egy display listbe beleteszem a pontokat, és a normálokat, és itt már ugy indexelek, ahogy én akarok, de a DL -lel meg az a baj, hogy sokkal lassabb, mintha puffereket, vagy VBO -t használnék.

Szerintem egyelőre ugy oldom meg, ahogy cs_adam javasolta. Igaz lassú lesz, de legalább jól működik.

nagyy

   
ShAdeVampirE - Guests | hsz       Online status #4477   2005.08.22 23:59 GMT+1 óra  
És mi lenne, ha megtartaná a mostani felépítést (index-es), csak normálvektort futásközben számolná -> kockánál mindíg 3 kell 1 ponthoz, azokat meg úgy határozza meg, h csak a kifelé (látható) oldal síkjára számítja ki a normálvektorokat. De szóljatok, ha ez b@romság.

------------------------------------------------
([url="http://shadevampire.uw.hu">ShAdeVampirE otthona a neten...[/url])

   
nagyy - Guests | hsz       Online status #4476   2005.08.22 14:03 GMT+1 óra  

   
TPG - Guests | hsz       Online status #4475   2005.08.22 13:55 GMT+1 óra  
Idézet
beast írta:
Már letölthető a Q3 engine...


beast
Igen? Akkor megnézem én is.


   
beast - Guests | hsz       Online status #4474   2005.08.22 13:40 GMT+1 óra  
Már letölthető a Q3 engine...


beast

   
TPG - Guests | hsz       Online status #4473   2005.08.22 13:33 GMT+1 óra  
Idézet
nagyy írta:
Kösz, ez jó ötlet. Először én is valami hasonlóra gondoltam, de végül elvetettem, mert ezzel meg az a baj, hogy elvesztem az indexek, és stripek nyújtotta előnyöket, és így meg lassú lesz az egész. Bár, ha meg jobban belegondolok, akkor tényleg csak így lehet megoldani. A
Ha vársz 1-2 két hetet akkor megnézheted hogy anno John Carmack
hogy oldotta meg a problémát a legendás Quake 3 Engine-ben.


   
nagyy - Guests | hsz       Online status #4472   2005.08.22 12:46 GMT+1 óra  
Kösz, ez jó ötlet. Először én is valami hasonlóra gondoltam, de végül elvetettem, mert ezzel meg az a baj, hogy elvesztem az indexek, és stripek nyújtotta előnyöket, és így meg lassú lesz az egész. Bár, ha meg jobban belegondolok, akkor tényleg csak így lehet megoldani. A "nagyok" vajon hogy oldják meg, hogy jó a normál, és emellé még gyors is?

nagyy

   
cs_adam - Guests | hsz       Online status #4471   2005.08.22 11:57 GMT+1 óra  
Az alap az ugye, hogy egy modell vertexeit két módon tárolhatod. Lehet vertex-megosztással (vertex-saring), amikor egy vertex több laphoz tartozhat. Ekkor a lapoknál indexekkel vannak azonosítva a hozzá (is) tartozó három vertex. Ez kíméli a tárhelyet, mert nem kell egy vertex struktúráját többször eltárolni, kevesebb adatot kell megmozgatni rajzoláskor. És lehet megosztás nélkül, amikor simán minden vertex egyedi, és mindegyik csak egy poligonhoz tartozik.
A vertexhez normálvektort kell rendelni a megvilágítás számolásához. Egy vertexhez számolni normálvektort nem lehet, mivel az csak egy pont. A normális csak egy síkhoz számolható. Tehát kiszámoljuk a poligonra, majd hozzárendeljük a vertexeihez. Azonban ha egy vertex nem csak egy poligonhoz tartozik, akkor normálvektor hozzárendelése (átlagolással) elvi hibás. Az oka az, hogy a közös vertexhez hozzárendelt normális egy olyan síkhoz tartozik, amely valójában nem is a modell része. Az átlagolás elmegy, amíg "gömbölyded" az objektum, de ha két sík normálisa nagyban eltér, és van közös vertexük, akkor már gáz van.

Cs.Ádám

   
beast - Guests | hsz       Online status #4470   2005.08.22 11:40 GMT+1 óra  
Ezt kifejtenéd egy kicsit jobban? Nem egészen értem...
Pont ebben a problémába ütköztem a minap én is, én átlagoltam a vertexeket a normalhoz. Müxik, bár fura néhol...

beast

   
cs_adam - Guests | hsz       Online status #4469   2005.08.22 11:30 GMT+1 óra  
Ne használj vertex-megosztást, és akkor a poligonokhoz tartozó normálisok hozzárendelhetők a poligont alkotó vertexekhez. Úgy pedig jó lesz a megvilágítás mindenhol.

Cs.Ádám

   
nagyy - Guests | hsz       Online status #4468   2005.08.22 11:17 GMT+1 óra  
Nem tudja valaki, hogy hogyan lehet azt megoldani, ha van egy modellem (tfh egy kocka), és ezt kellene úgy megjeleníteni, hogy a megvilágításkor szépen árnyalódjon, azaz mindegyik lapja megfelelően megvilágítódjon meg. Ugyanis a baj az, hogy ha minden adatot (vertex,tex,normál) pufferekbe teszek, és ezt indexelem, akkor minden vertexhez csak egy normálvektor tartozhat. Viszont ez ebben az esetben nem túl nyerő, mivel a vertex a kocka egyik csúcsa, és erre nem lehet egyértelműen meghatározni a normál vektort, ugy hogy az eredmény is helyes legyen. Jelenleg az egyes normál vektorokat ugy határozom meg, hogy megnézem, hogy a vertex mely lapok része, és ezeknek a lapoknak a normál vektorát átlagolom. Igy viszont pl.: egy kocka esetében elég csúnya eredmény keletkezik.

Ja, és ha lehet olyan megoldás kellene, ami ráadásul hatékony is.

nagyy(Módosította nagyy 2005.08.22. 19:19-kor)

   
Birmacher - Guests | hsz       Online status #4467   2005.08.17 08:42 GMT+1 óra  
nem tud vki 1 png-s texture loader tutort, v forrást, mer keresek és nem igazán találtam... meg próbálkoztam értelmezni, h mit hogyan, rá is jöttem, h az első sorban van 1 olyan, h %PNG, de ennél többre nem igazán jutottam

gotoAndPlay()

[url="http://10e-tmg.uw.hu" target="_blank">oszt honlapom[/url]

   
beast - Guests | hsz       Online status #4466   2005.08.11 06:30 GMT+1 óra  
Még egy kérdésem lenne
OpenGL-ben van pixel shader szoftveres emuláló?
GL2-es vagy az ARB-s shaderekhez kéne.
DirectX-re, hogy van azt hallottam.

beast

   
Neme - Guests | hsz       Online status #4465   2005.08.10 07:34 GMT+1 óra  
Sztem is próbáld meg beast javaslatát. A minősége ill. sebessége valószínűleg GPU függő. Itt egy lehetséges megoldás:

gluScaleImage(GL_RGB, sizeX, sizeY, GL_UNSIGNED_BYTE, sourceimage, newsizeX, newsizeY, GL_UNSIGNED_BYTE, scaledimage);
gluScaleImage(GL_RGB, newsizeX, newsizeY, GL_UNSIGNED_BYTE, scaledimage, sizeX, sizeY, GL_UNSIGNED_BYTE, destimage);
glBindTexture(GL_TEXTURE_2D, mytexture);
glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, sizeX, sizeY, GL_RGB, GL_UNSIGNED_BYTE, destimage);

Az első sor lekicsinyíti a textúrát newsizeX/Y méretűre a scaledimage által mutatott előre lefoglalt területre. A második visszaméretezi eredeti méretűre a destimage által mutatott területre, közben lineárisan szűri, vagyis elmossa.
A newsizeX/Y-nak kisebbnek kell lennie a sizeX/Y-nál.



   
balogh9 - Guests | hsz       Online status #4464   2005.08.10 07:15 GMT+1 óra  
multitex nem, legalábbis amit eddig próbáltam az nem, az is lehet hogy rosszul csináltam...

C++ & OpenGL

   
ShAdeVampirE - Guests | hsz       Online status #4463   2005.08.10 03:22 GMT+1 óra  
Multi tex. nem jó?

----------------------------------------
Gondolkozz, dokumentálj, tervezz, dokumentálj, kódolj, dokumentálj, szigorúan ebben a sorrendben, így nem érhet meglepetés...
--------------------------
([url="http://shadevampire.uw.hu">ShAdeVampirE otthona a neten...[/url])

   
beast - Guests | hsz       Online status #4462   2005.08.10 01:49 GMT+1 óra  
Nem olyan profi módszer, de rendereld textúrába a képet, modjuk 512x512-be és ezt feszitsd ki pl. 800x600 ra. Mondom ez egy elég béna módszer de műxik. Vagy rendereld mipmap textúrába...

beast

   
balogh9 - Guests | hsz       Online status #4461   2005.08.10 01:02 GMT+1 óra  
vki tud vmi megoldást TEXTÚRA ELMOSÁSÁRA? nem motion blur-ra gondolok, hanem egy egyszerű textúra elmosására

C++ & OpenGL

   
Neme - Guests | hsz       Online status #4460   2005.08.10 00:07 GMT+1 óra  
Csinálj hierarchikus gömbstruktúrát. Legyen egy szülő gömb a legfelső szinten, ami a teljes modellt magába foglalja, azon belül - a következő szinten - a modell jól elkülöníthető részeinek a gömbjei, azokon belül a még kisebb részletek gömbjei stb. A legjobb esetben itt is csak egy ellenőrzést kell végrehajtani a szülő gömbbel.


   
gymisi - Guests | hsz       Online status #4459   2005.08.09 23:43 GMT+1 óra  
Az AABB-k lényege,hogy a befoglaló téglatest élei mindig párhuzamosak a tengelyekkel, tehát ha valamit elforgatsz, akkor a doboznak nem kéne forognia, csak újra kiszámolgatni a legnagyobb,legkisebb x,y,z értékeket!

Akkor tudsz valamit,ha tudod, hogy mit nem tudsz!

   
beast - Guests | hsz       Online status #4458   2005.08.09 14:08 GMT+1 óra  
Most úgy működik, gömbökkel nézem az ütközést, de az közel sem az ami kellene. Na mind1. Tud valaki valami jó ütközésvizsgálatot?

beast

   
nagyy - Guests | hsz       Online status #4457   2005.08.09 11:43 GMT+1 óra  
Persze, képzeld el: Betöltesz egy modelt, ami eredetileg az origóba van igazítva. Utána ezt a modellt mondjuk nem ott akarod megjeleníteni, hanem mondjuk a (100,100,0) pontban. Ilyenkor nem sok értelme van, ha az origónál vizsgálod meg az ütközést, mivel nem ott van a modell.
Szóval eltolni biztos, hogy el kell, de a forgatás már egy kicsit hajszásabb, mert ha azt is kell, akkor nem lehet olyan egyszerűen meghatározni, hogy mondjuk két bbox metszi -e egymást. Ha ilyen összetettebb transzformációkat is kell végezni, akkor ajánlom hogy a modellek befoglaló gömbjét használd. Azoknál csak azt kell megvizsgálni, hogy ha két objektum távolsága kisebbb vagy egyenlő mint a befoglaló gömbjük sugarainak összege, akkor ütköznek.

nagyy

   
beast - Guests | hsz       Online status #4456   2005.08.09 07:58 GMT+1 óra  
Hahóóó
Lenne egy kis kérdésem:
Van egy model betöltőm, ok ez nem nagy szám.
Betöltésnél kiszámolom a befoflaló dobozának a pontjait (megkeresem a legkissebb, -nagyobb x, y, z értéket). Gondoltam majd bedobom a bounding box ütközést.
A kérdés az, hogy ezek a pontok a model saját terében vannak, ha a modelt glTranslatef, glRotatef-fel eltolom, forgatom, akkor ezek is eltolódnak? Vagy akkor el kell forgatnom, tolnom őket külön és igy levizsgálni az ütközést?

beast

   
nagyy - Guests | hsz       Online status #4455   2005.07.30 03:15 GMT+1 óra  
Kösz a helpet. Meg csináltam, működik is.
Azt viszont nem értem, hogy ha nem használok VBO -t, akkor is majdnem ugyanannyi az FPS, mint ha használnék. Próbaképpen megjelenítettem egy ~2000 poligonos gömböt 100x, és az eredmény:
- VBO val 70 FPS körül,
- VBO nélkül 60 FPS körül

Azt hittem, hogy ennél komolyabb növekedés lesz. Ez miért lehet?


ui.: A V-Sync -et is kikapcsoltam, és mindent ami a rajzoláshoz kell, VBO ban tárolok.

nagyy

   
cs_adam - Guests | hsz       Online status #4454   2005.07.30 02:10 GMT+1 óra  
Lehet:
A glBindBufferrel hozzarendeled az ELEMENT_ARRAY_BUFFER-hez, és a glDrawElements (vagy mas indexelt rajzolasnal) az indexek pointerehez NULL-t irsz.
Jomagam nem probaltam, de emlekeim szerint a specifikacio ezt irja. Sok sikert hozza!

Cs.Ádám(Módosította cs_adam 2005.07.30. 10:12-kor)

   
nagyy - Guests | hsz       Online status #4453   2005.07.30 00:55 GMT+1 óra  
Valakinek van ötlete, hogy hogyan lehet egy index buffer -t VBO ban eltárolni? Lehet ezt egyáltalán?

nagyy

   
VT - Guests | hsz       Online status #4452   2005.07.29 09:11 GMT+1 óra  
Az OpenGL elérhető VB alól? Van vmi wrapper vagy declare és típus gyűjtemény?

Dolgozz keveset, nem érhet baleset!

   
Frissebbek | Korábbi postok
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [15] [20] [25] [30] [35] [40] [45] [50] [55] [60] [65] [70] [75] > 80 < [82]