Az elmúlt 3 hónapban az eddig leírtakon kívül történt számos apróbb - nagyobb javítás / változtatás, amik közül jöjjenek a lényegesebbek.
IK
Vagyis inverz kinematika. A számtalan megoldás közül sikerült megtalálnom azt, amit megértettem és használni is tudok. Szerényen Cyclic Coordinate Descent (CCD) eljárásra hallgat. Működéséhez mindössze egy cél 2D / 3D pozíciót kell megadnunk és az algoritmus a hierarchiába rendezett csomópontokat - iteratívan - afelé fogja elmozgatni.
Voxel
Számomra igen nehézkes trimesh-eket készíteni ezért találtam ki, hogy prototípus mesh-ek elkészítéséhez jó szolgálatot tenne egy voxel alapú mesh szerkesztő. Első próbálkozások egyike ilyen lett:
Newton Dynamics
Sajnos úgy tűnik, hogy a Bullet nem kívánja tovább támogatni a szoftveres többszálú üzemmódot. Tekintve, hogy már szinte nem készül (általános) számítógép konfiguráció egymagú processzorral (már mobilkészülék esetén sem!) ez elég lehangoló. Emiatt kerestem alternatívát és úgy látszik a ND beváltja a hozzá fűzött reményeimet.
Az eleve biztató előjel, hogy a Bullet többszálas módja bizonyos helyzetekben használhatatlanul instabil míg a ND teljesen rendben kezeli a szimulációt.
Ezenkívül az egyszálas teljesítménye is jobban tűnik ND-nek masszív számú trimesh-t tartalmazó fizikai jelenet esetében (kezdve azzal, hogy a ND képes on the fly trimesh shape egyszerűsítésre).
Lehetséges, hogy egy ehhez (Demo 2 - PhysX v283 vs Bullet v275) hasonló összehasonlítás is születni fog.
VR
Vagyis virtual reality. Mostanában ismét reneszánszát éli ez a merőben "emberközeli" felhasználói élményt nyújtani képes technológiai témakör. Én ebből egyelőre a sztereó renderelést valósítottam meg az anaglif területen szerzett tapasztalataim alapján. Szükséges ehhez egy okos telefon ill. egy ilyen típusú VR-hez szükséges headset, mint pl Google Cardboard. Sajnos a precíz, abszolút (fej)orientáció lekérdezésével még gondjaim vannak. Az így kapott látvány ilyen egy Adrenon - a jelenet és tárgyak a már említett voxel szerkesztővel készültek:
Egyebek
- Compute shader használata GPU-hoz köthető számítások esetén.
- Delaunay háromszögesítés használata.
- Lassan 10 éve izgatott ebben a kijelentésben "Jedi Academy could load JK2 models, recognize they're from JK2 and automagically(tm) convert them to JA-usable models" szereplő "automagically" szó. Átböngészve a JA forráskódját végre meglett a titok nyitja.
- Rájönni arra, hogy a RAND_MAX értéke platformonként más lehet (a szabvány csak annyit mond, hogy min. 32767)
- Soft body Bullet alatt, de az igazán izgalmas a ND változat lesz.
- "Mindenhol" jelen lévő részecskék renderelése.