Lightmap

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt hozzászólók, és jelentősen eltérhet a 2017. október 18-án felülvizsgált verziótól ; az ellenőrzések 6 szerkesztést igényelnek .

A fénytérkép ( shadow map ; angolul  lightmap ) a tér megvilágításának egyik módja a 3D alkalmazásokban, amely abból áll, hogy olyan textúrát hoznak létre, amely a háromdimenziós modellek megvilágítására vonatkozó információkat tartalmaz [1] [2] .

A módszer leírása

A módszer jelentősen megtakarítja a számítógép erőforrásait, mivel az alkalmazásnak nem kell valós időben számolnia a fény beesését. Ami a valóságot illeti, ennek a módszernek az eredménye sokkal jobb, mint a dinamikus világítás alkalmazása, amelyben minden képkocká előtt kiszámítják a fény és az árnyék esését. Ennek az az oka, hogy a legtöbb 3D-s fénytérképező alkalmazás figyelembe veszi a fényvisszaverődéseket és azok további beesését más felületekre, hasonlóan ahhoz, ahogy a fény a való világban viselkedik. Ez a módszer azonban csak statikus objektumok esetén érvényes. A mozgó modellek fénytérképei csak akkor jönnek létre, ha a fényforrás egy mozgó modellhez van rögzítve, és a megvilágítás eredménye nem függ a mozgásától és forgásától.

A fénytérképek szinte mindig a normál sokszög textúrákhoz igazodnak, és minden térképtextel 4-32 textúratextelnek felel meg. A térkép méreteit a minimális sokszöget határoló téglalap méretei határozzák meg, amelynek oldalai párhuzamosak a textúra vektorokkal.

A fénytérképeket ilyen vagy olyan formában szinte minden modern valós idejű 3D alkalmazásban használják. Ezzel a módszerrel létrehozható egy jelenet összes statikus megvilágítása. A megvilágítás a statikus geometriához a renderelési ciklus kezdete előtt jön létre, és a renderelés során többnyire változatlan . A modern berendezéseken a fénytérképek segítségével teljesen dinamikus világítás megvalósítása lehetetlen a fénytérképek létrehozásának folyamatának nagy erőforrás-intenzitása miatt. Ezt a megközelítést tekintik a legtöbb más valós idejű árnyékleképezési algoritmus alapjának.

Létrehozásakor a térkép fekete képpontokkal lesz tele. Továbbá a fénytérkép minden texeléhez megtaláljuk a sokszög egy pontjának háromdimenziós koordinátáit. Ehhez a ponthoz létre kell hozni egy listát az összes fényforrásról, amely befolyásolja a megvilágítását: az ettől a ponttól a fényforrásokhoz vezető vektorokat ellenőrzik a jelenet geometriájával való metszéspontra, és ha a metszés megtörténik, akkor ez a fényforrás nem világít. a pont (hozzá képest a pont árnyékban van) . A fennmaradó források növelik a fénytérkép texel értékét a használt világítási modelltől és a fényforrás ponthoz viszonyított helyzetétől függően. A bilineáris szűrést gyakran alkalmazzák a fénytérképeken a kép megjelenésének javítása érdekében . Ezeket a műveleteket minden egyes megvilágított jelenetpoligonnál megismétlik.

A renderelés során a fénytérképeket egy második lépéssel lefedheti alfa-keveréssel . Ha több textúrájú berendezése van, egy menetben alkalmazhatja a textúra- és fénytérképet.

Ezt a világítási módszert olyan játékmotorok támogatják, mint az id Tech , Unreal Engine , Lithtech , GoldSrc , Xash3D , Source , X-Ray , Unity

Jegyzetek

  1. Feltételek (cnews.ru) . Letöltve: 2008. augusztus 9. Az eredetiből archiválva : 2011. augusztus 23..
  2. Lightmap a Valve Developer  Wiki -n . Archiválva az eredetiből 2011. augusztus 23-án.

Lásd még