Enviroment Mappning

Inledning
Idén med environment mapping är att man med hjälp av en textur representerar omgivningen. När man applicerar denna textur på ett objekt så kommer det se ut som att objektet, om det nu är frågan om en reflekterande yta, reflekterar omgivningen, samma sak som åstadkoms med ray-tracing. Det finns fyra metoder att välja och vi tänkte här kortfattade titta på dessa.

Blinn och Newells metod
Detta var den första enviroment mapping metoden som dök upp. Den går kort och gått ut på att man har en sfärisk textur av omgivningen, tex ett rum. Sedan med hjälp av vyvektorn samt normalen vid den punkt som vyvektorn pekar på objektet, räknar man ut reflektionsriktningen som man sedan använder för att hämta ut en pixel ur den sfäriska texturen.

Kubisk mapping
Detta är den mest använda metoden, samt den som fungerar att köra i realtid. Den går ut på att man skapar en textur för varje sida av ett kantigt objekt. Varje sådan textur representerar omgivningen, sett från den sidan. Ett sätt att få detta är att sätta en kamera i mitten av objektet och ta en bild från varje sida som objektet har. Utifrån hur reflektionsvinkeln ser ut så kan man beräkna från vilken bild man ska hämta pixeln som man ser i figuren.

Sfäriskt mapping
Sphere mapping är en förbättring av Blinns och Newells metod för environent mapping. På samma sätt som i Blinns och Newells metod skapar man den sfäriska texturen innan den används. Fast till skillnad från deras metod som använder reflektionsriktningen för att indexera i texturen, så transformerar man vyvektorn och ytans normal så att de anpassas till den sfäriska texturen. Med de nya vektorerna får man fram en reflektionsriktning som man använder för att indexera i den sfäriska texturen, inte helt olikt Blinn och Newells metod.

Paraboloid mapping
Denna metod är en blandning av Kubisk mappning och Sfärisk mappning. Samma metod används för att beräkna reflektionsriktningen och hitta rätt pixel i texturen som i kubisk mappning. Däremot använder sig denna metod av två texturer, sfären delas upp i två sidor, och för att veta vilken textur som innehåller pixeln använder man samma metod som den kubiska mappningen.

Slutsats
Av dessa metoder används de flesta i olika fall förutom Blinn och Newells metod, den anses vara en aning primitiv. Detta är ju naturligtvis förståeligt då den var den första och kanske inte den mest utarbetade metoden. Kubisk mappning är den som används i realtid och stöds ofta i nutidens hårdvara. Sfärisk och Paraboloid mappning kräver ingen speciell hårdvara men det är svårt att få till bra texturer och svårt att göra texturerna i realtid.