Radiosity normal mapping
Princip vychází z normal mappingu, avšak ten je dále na základě informací o radiozitě (navíc údaje o indirect – nepřímém světlu) z light mapy rozšířen. Umožňuje věrohodnější zobrazení nerovností, protože obsahuje navíc informaci o přístupu světla ke každému pixelu. Proto je možno poměrně snadno a nenáročnou metodou vytvořit vlastní stíny bez použití parallax mappingu.
Protože používá radiozitní light mapy, je výhodný zejména pro statickou scénu. Jako textura se nepoužívá normálová nebo bump mapa, ale speciální textura obsahující jak zredukované informace o normále, tak informace o průchodnosti světla na pixel.
Pro kompletní řešení radiosity normal mappingu je potřeba splnit tyto požadavky:
- Namísto klasických light map je potřeba vygenerovat radiozitní (3 light mapy pro každý ze tří vektorů vektorové báze). U každého vektoru se určí barva a intenzita světla.
- Namísto klasických normálových textur je nutno vygenerovat texturu s informacemi o průchodnosti světla. To se obvykle děje vrháním paprsků na zdrojové informace o povrchu (normálová mapa + výšková mapa). Vytvořená textura má novou výhodu. Na rozdíl od normal mapy, jenž musí být normalizovaná (barevné složky RGB určují XYZ hodnoty normálových vektorů a ty musí mít jednotkovou délku), lze tuto texturu libovolně upravovat a ztmavovat. Tmavší místa budou místa s horší průchodností světla.
- Je nutno upravit pixel shader (program pro zobrazení grafiky na grafické kartě). Oproti normal mappingu je nakonec ještě jednodušší a rychlejší. Jedná se jen o násobení s vektory radiozitní lightmapy.