Bump mapping - Bump mapping
Bump mapping je technika mapování textur v počítačové grafice pro simulaci nerovností a vrásek na povrchu objektu. Toho je dosaženo narušením normál povrchu objektu a použitím narušené normály během výpočtů osvětlení. Výsledkem je zjevně hrbolatý povrch než hladký povrch, i když povrch podkladového objektu se nezmění. Bump mapping představil James Blinn v roce 1978.
Normální mapování je nejběžnější variací používaného nárazového mapování.
Zásady
Bump mapping je technika v počítačové grafice, která má vykreslený povrch vypadat realističtěji simulováním malých posunutí povrchu. Na rozdíl od mapování posunutí se však geometrie povrchu nemění. Místo toho je upraven pouze normální povrch, jako by byl povrch posunut. Upravený normál povrchu se pak použije pro výpočty osvětlení (například pomocí modelu Phongova odrazu ), které místo hladkého povrchu poskytnou vzhled detailů.
Nárazové mapování je mnohem rychlejší a spotřebovává méně zdrojů pro stejnou úroveň detailů ve srovnání s mapováním posunutí, protože geometrie zůstává beze změny.
Existují také rozšíření, která kromě zvýšení pocitu hloubky upravují další vlastnosti povrchu. Mapování paralaxy a mapování obzoru jsou dvě taková rozšíření.
Primárním omezením při nárazovém mapování je, že narušuje pouze normály povrchu, aniž by měnil samotný podkladový povrch. Siluety a stíny proto zůstávají nedotčeny, což je zvláště patrné u větších simulovaných výtlaků. Toto omezení lze překonat technikami zahrnujícími výtlakové mapování, kde jsou na povrch aplikovány nárazy nebo pomocí isosurface .
Metody
Existují dva primární způsoby provádění mapování nárazů. První používá výškovou mapu pro simulaci posunu povrchu, čímž se získá upravený normál. Toto je metoda, kterou vynalezl Blinn a obvykle se označuje jako bump mapping, pokud není uvedeno jinak. Kroky této metody jsou shrnuty následovně.
Před provedením výpočtu osvětlení pro každý viditelný bod (nebo pixel ) na povrchu objektu:
- Na mapě výšky vyhledejte výšku, která odpovídá poloze na povrchu.
- Vypočítejte normálu povrchu mapy výšky, obvykle pomocí metody konečných rozdílů .
- Zkombinujte normálu povrchu od kroku dva se skutečnou („geometrickou“) normou povrchu tak, aby kombinovaná normála směřovala novým směrem.
- Vypočítejte interakci nového „hrbolatého“ povrchu se světly ve scéně například pomocí Phongova reflexního modelu .
Výsledkem je povrch, který vypadá, že má skutečnou hloubku. Algoritmus také zajišťuje, že se vzhled povrchu mění při pohybu světel ve scéně.
Druhou metodou je zadat normální mapu, která obsahuje upravenou normálu pro každý bod na povrchu přímo. Vzhledem k tomu, že normál je určen přímo místo odvozeného z výškové mapy, vede tato metoda obvykle k předvídatelnějším výsledkům. Umělcům to usnadňuje práci, což je dnes nejběžnější metoda bump mapping.
Techniky mapování nárazů v reálném čase
Realtime 3D grafičtí programátoři často používají variace této techniky, aby simulovali bump mapping za nižší výpočetní náklady.
Jedním z typických způsobů bylo použít pevnou geometrii, která umožňuje téměř normální použití normálního povrchu mapy výšek. V kombinaci s předem vypočítanou vyhledávací tabulkou pro výpočty osvětlení lze tuto metodu implementovat pomocí velmi jednoduché a rychlé smyčky, která umožňuje efekt celé obrazovky. Tato metoda byla běžným vizuálním efektem při prvním zavedení bump mapping.
Viz také
Reference
externí odkazy
- Bump shading for volume textures , Max, NL, Becker, BG, Computer Graphics and Applications, IEEE, Jul 1994, Volume 14, Issue 4, pages 18-20, ISSN 0272-1716
- Jednoduché vytváření vektorů na pixel ve stupních šedi, aby fungovala nárazová mapa a další
- Příklad Bump Mapping ( Java applet )