_fpeti_ 2012.01.08. 02:07

Triplanar texturing és nagyobb decalek

Triplanar texturing: Textúrakoordináta számolása a csúcspont (vertex vektor) alapján, és több textúra 'összeblendelése' normál iránya szerint (normal.xyz adhat 3 faktort). Ez van a nagy kövön. :)
Meg nagy koromnyomok is. Gondolkoztam, milyen egyszerű lenne deferred shaderrel projektálni a textúrát a sziklára, de inkább belevágom a decal aabb-jébe a mesh összes háromszögét, és textúrakoordinátákat számolok nekik. Nagyon gyorsan nő a háromszögszám, hipoly-mesheken nem kifizetődő a dolog. Mesh vágáskor nagyon sok redundáns vektor keletkezik (minden elvágott élen lesz egy pár.) Ezeket ki lehet keresni, de félek elég soká tartana párszáz vektoron végigmenni párszázszor, hogy megtaláljuk az ismétlődőket. Mondjuk a nem számolt (meshből kapott) csúcspontokat könnyű összehasonlítani, bitre egyeznek (én float xyz helyett (int*)-ra kényszerítem és úgy hasonlítom.. elég vicces, de gyorsabb 2 integer közötti egyenlőség, mint a fabs(x0-x1)<delta cuccos.) Ha túl sok vektor/háromszög keletkezne, egyszerűen nem hozok létre új decalt. Nem annyira fontos, hogy mindenen legyen. Egyelőre ráadásul csak sztatikus objektumokon lehet ilyen, nincs per-frame decal transzformáció. Lehet így is marad. Mondjuk jó lenne ragdoll-okra is nagyobb decal-eket applikálni, ha nagyot sérül. Ekkor már csontozni is kéne a decalt, amihez nem lesz kedvem előreláthatólag soha. :3

bigdecals_triplanartex.PNG

Címkék:decal Szólj hozzá!

A bejegyzés trackback címe:

https://sortagamedev.blog.hu/api/trackback/id/tr933527807

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.