Kinetix

"Aki másnak felbontás...!"


  • Aldaryn
    #4429
    Akkor megint tök jól elbeszélünk egymás mellett.... deja vu. :)

    Na, megpróbálom letisztázni, remélem sikerül:...

    A pmapról tudom, hogy micsida, egy olyan eljárás, ami a direkt és nem inverz fénykövetési módok közé tartozik, ebben rokon a radiosityvel. A végeredméyn függ a pmap "felbontásától", és bizonyos esetekben nagyon csúnya hibákat eredményez. Pl. vékony felületek elég problémásak, stb...

    Van egy eljárás, ami Brazil alatt a "Regathering" névre hallgat. Ennek lényege, hogy photon mapokat használ a rendszer a QMC gyorsítására.
    Egy standard QMC render a köv. képpen alakul leegyszerűsítve: A képpixelen keresztül indul a sugár, becsapódik valahol, onnan kicsit random módon egy rakatt sugarat lő ki minden irányba, ezek megint csak becsapódnak, ott megint egy rakatt sugár megy mindenfele, stb... egészen addig ismételve, amíg 1: el nem éri a bounce-értékét az iteráció, 2: fényforrásba nem ütközik. Namost nekünk gyakorlatilag csupán azok a sugarak *fontosak* amelyek fényforrásra lelnek. Azonban mivel minden iterációban mindenfele kilövésre kerülnek a sugarak, mivel a rendszer nem érzékeli, hol van a fényforrás, vagy hogy honnan pattintva juthatunk el a fényforrásig. Ebből adódik, hogy sok sugár veszendőbe mehet, mert nem lel fényforrásra.
    A pmapos gyorsítás ezt hivatott egy kicsit konkretizálni. Először n bounccal elkészül a pmap, ami gyakorlatilag megmondja a raytracernek, hogy *merre* lője ki a sugarakat adott pont esetén, azáltal minimalizálva a veszendőbe küldött sugarak számát. Az eredmény: raytracelt GI kevesebb sugárral. Esetenként ez a szám *lényegesen* kevesebb sugár is lehet. Minden a scene-től függ...
    Egy 8-12 bounce-t pl nekem legalább hatszor gyorsabban számol ki egy egyszerű környezetben ilyen "gyorsítással", mintha szimplán csak a raytracel dolgozott volna. :) Hiszen az pl 10viev ray esetén minimum 10 a tizenkettediken sugár lett volna mintánként.... :))

    Ha valamit kihagytam, bocs, ha valami pontatlan volt a raytracinggel kapcsolatban, megint csak bocs....

    Remélem most tudtam érthetően fogalmazni.