Hogy szokás ezt OpenGL-ben?
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
Aúúúú. Hát, van még mit tanulnod számítógépes-grafika témakörből.
Számításigényes művelet...: a gpu úgy van elkészítve, hogy kezelje a nagy számításokat. Ezért van benne vertex shader, pixel shader, geometry shader... Az egész színtiszta matematika magas szinten.
Mozgatás, forgatás, átméretezés...: nem mondtál nyelvet, de mondjuk feltételezem, hogy c++, mert azzal gyakori az opengl. Felül kell definiálnod az operátorokat, hogy a megfelelő matematikai műveletet végezzék. Minden objektumváltoztatás lényegében egyenlő azzal, hogy a vektorod megszorzod egy kiszámított transzformációs mátrix-szal.
Itt olvasgathatsz róla sokat, bár elég nyersen van fent, nem önálló leírás, inkább kiegészítés előadásokhoz. De fent vannak az előadások is valahol.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
Vagy rosszul fogalmazok, vagy nem sikerült megérteni amit kérdeztem.
#2: Össze-vissza beszélsz. Nem írtam nyelvet, mert a kérdésemnek semmi köze a nyelvhez. De igen, c++ban íródik a kódnak azon része, amelyik a CPU-n fut. A GPU úgy van elkészítve, hogy a sok mag miatt a jól párhuzamosítható feladatokat gyorsan meg tudja oldani. Pont. Egy játék fizikája, játéklogikája, ütközésdetektálása nem a GPU-n fog futni, így teljesen felesleges felsorolni milyen shaderekre emlékszel egy előadásról. Az összefüggés amit írsz az operátortúlterhelés és a GPU-n futó shader (ami mellesleg GLSL) között pedig egy nagy marhaság. Szerintem Te magad sem érted.
#3: Nem az ütközésdetektálás a kérdés :) Arra van egy bounding box, és egy algoritmus, ami képes koordináta alapú konvex poligonok átfedésének ellenőrzésére.
Másrészt ha csak azért elviszem az összes adatot a GPU-ra, hogy az kiszámolja amit nekem kell, akkor az adatok utazgatásáig a CPU elmehet malmozni.
A hozzáértő válaszokat továbbra is várom (valójában itt egy best practice-re vagyok kíváncsi).
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
"Nem az ütközésdetektálás a kérdés :)"
Akkor idézlek:
"hogy meg tudjam állapítani ütközött-e egy másik objektummal."
:)))
1) Hogy lehet a leghatékonyabban mozgatni kizárólag 1, vagy több speciális modellt a leghatékonyabban anélkül, hogy a teljes teret mozgatnám, és úgy, hogy még a kirajzolás előtt ismerjem az új pozíciókat.
2) Ezt arra fogom felhasználni, hogy lefusson rá az algoritmusom.
1) szükséges a 2)-höz. 1)-t kell megoldni, hogy a 2) működjön. Nem azt mondtam, hogy a 2)-re adj megoldást, csak ismertettem a kontextust. Nem kell játszani a hülyét.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
Szia,
Mi lenne ha a blenderes objektumbol csak 1 pontot választanál ki és azzal számolnád a bounding box-os/bounding sphere-es ütközéseket? Nem kell úgy sem az összes csúcs valójában mivel nem egy teljesen általános mesh collidert akarsz írni.
Tehát pl. egy betoltesz valamilyen modellt, kiszámolod a legkisebb illetve legnagyobb x,y,z koordinátákat. Ebből pedig kitudod számolni a bounding box középpontját meg szélességét magasságát mélységét. És aztán csak ezekre alkalmazod a modelmátrixot.
Ha tok általános mesh collidert akarsz csinálni akkor kell csak az összes csúcsra megcsinálni a model mátrix szorzást. Általában az viszont már compute shaderen megy vagy pedig cpu-n történik de csak low poly modellekkel, amelyek majd csak a hardware tesszellációkor lesznek csúnya szögletesek helyett szép simák.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!