A sugárkövetés ( eng. Ray tracing ; ray tracing ) a geometriai optika egyik módszere - az optikai rendszerek tanulmányozása az egyes sugarak felületekkel való kölcsönhatásának nyomon követésével. Szűk értelemben számítógépes programokban háromdimenziós modellek képének megalkotására szolgáló technológia , amelyben a nyaláb terjedésének fordított pályáját követik (a képernyőtől a forrásig).
A PC-s játékokban a sugárkövetés olyan megoldás, amely valósághű megvilágítást, tükröződést és árnyékot teremt, amely magasabb szintű valósághűséget biztosít, mint a hagyományos renderelési módszerek . Az Nvidia Turing volt az első architektúra (2018 nyara), amely lehetővé tette a valós idejű sugárkövetést a GPU -n . [1] A sugárkövetés további alkalmazásai az auralizáció és a nagyfrekvenciás technológiák.
A sugárkövetés kifejlesztése előtt a 3D számítógépes grafika újonnan kialakult területe lényegében egy sor "szoftvertrükkből" állt, amelyek a megvilágított objektumok árnyékolását utánozzák. A sugárkövetés volt az első algoritmus ezen a területen, aminek volt fizikai értelme.
Az első sugárkövetéses képet oszcilloszkópszerű képernyőn jelenítették meg a Marylandi Egyetemen 1963-ban. [2] Arthur Appelt, Robert Goldsteint és Roger Nagelt, akik az 1960-as évek végén publikálták az algoritmust, gyakran emlegetik a sugárkövetési algoritmus fejlesztőiként . [3] [4] [5] A sugárkövetéssel foglalkozó további kutatók akkoriban Herb Steinberg, Marty Cohen és Eugene Troubetzkoy voltak. [6] A sugárkövetés geometriai optikán alapul, ahol a fény sugarak csoportjára utal. A sugárkövetésben használt technikákat jóval korábban alkalmazták, többek között az optikai rendszerek gyártói is. Manapság sok renderer (számítógépes program 3D-s jelenetekből képeket készít) használ sugárkövetést, esetleg más folyamatokkal kombinálva.
A sugárkövetés egyszerű formái csak a közvetlen megvilágítást számítják ki, vagyis a fényforrásból közvetlenül érkező fényt. A sugárkövetés azonban többszörösére bővült, mióta először használták a számítógépes grafikában . A fejlettebb formák figyelembe veszik a más tárgyakról visszaverődő közvetett fényt is; majd beszéljen a globális megvilágítási módszerről.
A Raycasting kifejezés főként a sugárkövetés egyszerűsített formáját írja le, de néha felcserélhetően is használják.
A visszakövetési módszer komoly hátránya a teljesítmény . A raszterezési és vonalszkennelési módszer adatkoherenciát használ a számítások képpontok közötti elosztására. Míg a sugárkövetési módszer minden alkalommal újrakezdi a pixel színének meghatározását, minden egyes megfigyelési sugarat külön-külön figyelembe véve. Ez az elválasztás azonban más előnyökkel is jár, mint például az a képesség, hogy több sugarat lehet nyomon követni, mint amennyit a modell bizonyos területein a kontúr egyenetlenségeit kiküszöbölni . Ezenkívül szabályozza a sugarak visszaverődését és a fénytörés hatását, és általában - a kép fotorealizmusának mértékét.
A sugárzási hőátadás problémáinak megoldására a zonális számítási módszert ismerik el a leghatékonyabbnak, amely a sugárzás szögegyütthatóinak kiszámításán alapul minden egyes felületi és térfogati zónapárra. Két zóna sugárzási szögtényezője megegyezik az első zónából származó és a második zónában elnyelt sugárzási energia hányadával. Számos, a hőátadás elméletével foglalkozó műben a műszaki rendszerek egyszerűsített modelljeit veszik figyelembe: kohászati kemencék és más magas hőmérsékletű egységek, amelyekben a sugárzás akadálytalanul halad át egyik zónából a másikba. Valójában a legtöbb rendszer összetett geometriájú, amelyben a sugárzás árnyékolt, blokkolja a rendszerben lévő akadályokat: munkadarabok, maga a kemence falai, különféle csatornák falai. Az akadályok jelenléte a sugárzás útján oda vezet, hogy a szabványos képletekkel számított lejtős együtthatókkal összeállított hőmérleg-egyenletek erősen torz eredményt adnak, mivel nem veszik figyelembe a sugárzás árnyékolását.
Az egyszerű geometriájú rendszerekben, képernyők hiányában a lejtés együtthatóit az 1. képlet alapján számítjuk ki. Abszorbeáló és szóró közeg hiányában a lejtés együtthatója a felülettől a felületig:
(egy)
A zónás hőátadás kiszámításának szabványos képlete azonban nem veszi figyelembe a rendszerben lévő egyéb felületek jelenlétét. A lejtéstényezők számítása az akadályok figyelembevétele nélkül, amikor a sugárzás nagy része árnyékolt, akár 100%-os hibához vezethet a hőáramok és a zónahőmérséklet meghatározásában.
Annak érdekében, hogy figyelembe lehessen venni az akadályok jelenlétét a sugárzás útján, minden egyes elemi terület és elemi térfogat pár esetén ellenőrizni kell azok láthatóságát. Középpontjaik közé egy sugarat húznak, amely ellenőrzi az összes többi átlátszatlan felülettel való metszéspontját. A numerikus integrációhoz és az akadályok jelenlétének figyelembevételéhez az 1-es képlet diszkrét változatát használják, megszorozva a láthatósági függvénnyel:
(2)
A sugárzás árnyékolásának meghatározásának folyamata azonban több nagyságrenddel nagyobb számítási erőfeszítést igényel, mint a meredekségek, hőáramok és hőmérsékletek kiszámítása egyszerű, árnyékolás nélküli geometriájú rendszerekben.
A bonyolult geometriájú nagy rendszerekben a felületi és térfogati elemek száma elérheti az ezret vagy tízezret, a kibocsátott sugarak száma pedig millió vagy milliárd. Elvileg a sugarak száma nem korlátozott. A sugárkövetés közvetlen módszere, amelyhez más fejlett módszereket hasonlítanak össze, az, hogy minden sugár metszéspontját minden képernyővel (területtel) ellenőrzik, kivéve a kibocsátó és fogadó felületeket. A direkt módszer nagyon munkaigényes, mivel a metszéspont-ellenőrzések teljes száma az M felületek számától függ, mint O(M^3). Ilyen helyzetben döntő szerepet játszanak a sugárkövetési gyorsítási módszerek, amelyek nem igénylik a sugár metszéspontjának ellenőrzését minden képernyővel.
Így,
1) A legtöbb rendszerben vannak olyan akadályok, amelyek megakadályozzák a sugárzás átjutását;
2) A szögtényezők számítása a sugárzás árnyékolása nélkül akár 100%-os hibához vezethet a hőmérséklet és hőáram meghatározásában;
3) A sugárárnyékolás számítása több nagyságrenddel több időt igényel, mint az árnyékolás nélküli sugárzó hőátadás kiszámítása.
Határkötetek és határoló kötetek hierarchiája
A határoló térfogatok (Bounding Volume) alkalmazása a következő: minden képernyő egy egyszerű formájú határoló térfogatba van zárva, amelynek a sugár metszéspontja sokkal kevesebb időt vesz igénybe, mint az eredeti képernyővel való metszés. A sugár csak akkor metszi a képernyőt, ha a sugár metszi a határoló térfogatot. Így jelentősen csökken a nyaláb kereszteződéseinek száma a képernyőkkel. A határolódobozt és a határológömböt általában határoló térfogatként használják. A paralelepipedon lapjait általában úgy választják meg, hogy párhuzamosak legyenek a koordinátasíkokkal, az orientált paralelepipedonok sokkal ritkábban fordulnak elő.
A következő jelentős lépés a sugárkövetés felgyorsításában a határoló térfogatok hierarchiájának felépítése: a határoló térfogatok minden csoportjához más "magasabb szintű" határoló térfogat épül. Az eredményül kapott adatszerkezetet Bounding Volume Hierarchy-nak (BVH) nevezik, és bináris faként tárolják.
Az összes határoló térfogat előre van rendezve koordináták szerint, így mindegyik csak a közeli objektumokat tartalmazza.
Két fő megközelítés létezik a határoló kötethierarchia felépítésére: felülről lefelé és alulról felfelé. Fentről lefelé történő építéskor a fő határoló térfogatot két részre osztják, amelyek az alsó szint megközelítőleg azonos számú kötetét tartalmazzák, vagy két azonos méretű részre, majd az eljárást minden kapott térfogatra alkalmazzák. A megállás kritériuma lehet a fa magassága vagy a benne lévő kötetek száma, amelynél nem célszerű az osztás. Alulról felfelé történő építkezéskor a közeli határoló térfogatok összevonásra kerülnek, amíg egyetlen fő határoló térfogat nem jön létre.
A tér bináris particionálása
A bináris térfelosztási módszer az összes geometriai objektumot tartalmazó határoló köteteket és egy fa formájú hierarchikus struktúrát is használ, amelyet BSP fának neveznek (BSP - Binary Space Partitioning - bináris térparticionálás).
A módszer tulajdonságai:
1) A BSP fa mindig felülről lefelé épül;
2) Nem objektumok (határoló térfogatok) csoportja oszlik két részre, hanem tér;
3) Egy BSP fában egy határoló kötet egyidejűleg több magasabb szintű kötethez is tartozhat. Egy határoló kötet-hierarchiában minden kötet csak egy magasabb szintű kötethez tartozik.
A sugárkövetés felgyorsítása a fán való sétálással és a sugár négyzetekkel való metszéspontjának szelektív ellenőrzésével érhető el. Számos ilyen módszer létezik, de mind a BSP-fához, mind a határoló kötethierarchiához a leggyakoribb módszer a következő algoritmus:
1) A sugár metszéspontja a fő dobozzal (határoló térfogat) be van jelölve. Ha nincs metszéspont, akkor a sugár nem metszi egyik képernyőt sem.
2) Ha a sugár metszi egy négyzetet, akkor az első gyermek négyzettel való metszéspont be van jelölve. Ha nincs metszéspont, akkor a sugárnak metszenie kell egy másik gyermekdobozt. Ha van kereszteződés az első gyermekmezővel, akkor a rendszer meghatározza a gyermekdobozok listáját, és bejelöli a velük való metszéspontot.
3) A 2. lépést addig ismételjük, amíg meg nem találunk egy képernyővel rendelkező metszéspontot. Ha több ilyen pont van, akkor a sugár kezdetéhez legközelebb eső metszéspont kerül meghatározásra.
Egységes és hierarchikus rács
A térbeli felosztás másik módja a sugárkövető háló. Ennél a módszernél a teljes számítási tartományt egy paralelepipedon zárja be, amely a koordinátatengelyek mentén egyenlő intervallumokra van felosztva, egységes rácsot alkotva. Minden egyes rácscellához meg van határozva a benne található határoló kötetek listája. Minden határoló kötet több szomszédos rácscellához tartozhat. Előfordulhat, hogy egyes rácscellák üresek.
A rács használata lehetővé teszi, hogy ne ellenőrizze a sugár metszéspontját az összes határoló térfogattal. Különféle módszerek léteznek a rácson keresztüli sugárkövetésre, amelyek különböznek a sugár mentén következő cella megtalálásának módjában, a számítások típusában (egész vagy lebegőpontos).
A sugárkövetés során sorra meghatározzák azon cellák számát, amelyeken a sugár áthalad:
1) Ha az aktuális cellában nincsenek objektumok, akkor a következő cella száma kerül meghatározásra.
2) Ha vannak objektumok az aktuális cellában, mindegyik ellenőrzi, hogy metszéspontja van-e a sugárral
3) Ha a sugár az aktuális cellában egy vagy több tárggyal metszi, akkor a sugár és a megfelelő objektum kezdetéhez legközelebb eső metszéspont kerül meghatározásra, és ennek a sugárnak a követése véget ér.
4) Ha a nyaláb nem metszik semmilyen tárggyal, vagy a rácscella üres, akkor a folyamat megismétlődik az 1-3. pontok szerint.
Ha a képernyők egyenetlenül oszlanak el a számítási tartományban, akkor egyes celláiban egységes rács használatakor túl sok képernyő lehet, amelyek mindegyikét a rendszer ellenőrzi, hogy metszéspontja van-e egy sugárral, vagy a cellák többsége üres lesz. , és az üres cellák hosszú sorában történő sugárkövetés haszontalan időpocsékolás lesz. Ezekben az esetekben hierarchikus rácsokat használnak. Hierarchikus rács felépítéséhez létre kell hozni egy nagy egységes rácsot, majd ki kell választani a legtöbb képernyőt tartalmazó cellákat, és ezeken belül egy kisebb cellaméretű egységes rácsot kell létrehozni.
Nem egyenletes térfogatú háló használata
A térbeli felosztás másik módja egy nem egyenletes térfogati háló, általában hatszögletű vagy tetraéderes, amely részben megismétli a közelítendő tárgy alakját, például egy kemence terét üres nyílásokkal. Az utóbbi időben nagymértékben megnőtt az érdeklődés egy ilyen rács használata iránt, de az ezt használó sugárkövetési módszerek kevéssé fejlettek az egyéb adatstruktúrákat használó módszerekhez képest.
Egy ilyen rács cellái nem tartalmaznak belül más objektumokat, és minden cella üres (sugárzás számára átlátszó), gázzal töltve, vagy szilárd test része. A szilárd testek határai a sejtlapok. A sugárkövetés minden lépésében meghatározzák, hogy az aktuális cella melyik oldalán keresztül lép ki a sugár. Az arc száma határozza meg a következő cella számát, amelyen a sugár áthalad. Ha az arc egy szilárd test (kemence fala vagy nyersdarabok) határa, akkor a sugárkövetés leáll.
A nem egységes volumetrikus háló adatstruktúraként való használatának előnyei a sugárkövetés felgyorsítására a következők: jó minőségű geometria-közelítés és egyszerű metszésponti algoritmusok használata: csak a cellalapokkal - négyszögekkel és háromszögekkel - rendelkező metszéspontokat használnak. A módszer hátrányai: az egységes rácstól eltérően, ha a képernyők többsége kis geometriában helyezkedik el, akkor a nyaláb által metszett cellák többsége üres, és ezen metszéspontok feldolgozása nem hatékony.
A sugárzó hőátadás különféle sugárkövetési módszereinek perspektívái
A leírt sugárkövetési módszerek mindegyikének megvannak a maga előnyei és hátrányai. Egyes módszerek, mint például a BSP fa, a számítógépes grafikában a legelterjedtebbekké váltak, így ez a módszer a legfejlettebb. A végeselemes háló használatát még nem tanulmányozták kellőképpen, és ennek a módszernek a lehetőségeit valószínűleg nem használják ki teljesen.
Úgy gondolják, hogy lehetetlen a fent leírt legjobb módszerek közül kiemelni bármely geometriára. Azonban ezeknek a módszereknek nem mindegyike alkalmas elnyelő és szóró közegek sugárkövetésére. A helyzet az, hogy a tér bináris felosztásának módszerei, a határoló térfogatok hierarchiája, az egységes és hierarchikus hálók a geometriában csak az átlátszatlan felületekkel való metszéspontok kiszámítására összpontosítanak. A sugarak elnyelő közegben történő nyomon követésekor nemcsak azt a felületet kell meghatározni, amellyel a sugár ütközött, hanem a hálómodell összes átlátszó felületét is, amelyen a sugár áthaladt - az áthaladó sugár hosszának kiszámításához a modell minden térfogati zónáját, és határozzuk meg az elnyelt energia arányát az egyes zónákban. Ehhez a feladathoz a felsorolt gyorsító sugárkövetési módszerek jelentős finomítás nélkül nem alkalmazhatók. Ezzel szemben a nem egységes volumetrikus háló használatának módszere megkönnyíti a teljes lapok listájának megtalálását, amelyeken a nyaláb áthaladt, és így minimális többletmunkával meghatározhatja az egyes térfogati zónákban elnyelt energia hányadát. E tekintetben a legígéretesebb egy nem egységes térfogati háló adatstruktúraként történő alkalmazása a sugárkövetés felgyorsítására sugárzási hőátadási problémák esetén.
![]() | |
---|---|
Bibliográfiai katalógusokban |