W grafice 3D modelowanie rzeczywistych obiektów i oddanie za pomocą geometrii wszystkich szczegółów powierzchni jest trudne, a najczęściej niewykonalne. Dlatego stosuje się teksturowanie , czyli nakładanie na względnie proste obiekty trójwymiarowe obrazów ( tekstur ), które przedstawiają brakujące szczegóły.
Mapowanie |
Odwzorowanie współrzędnych dwuwymiarowej tekstury na współrzędne obiektu trójwymiarowego nazywane jest mapowaniem (mapowaniem tekstury):
Odwzorowanie jest wykonywane w lokalnym układzie współrzędnych obiektu, co sprawia, że tekstura jest „przyklejona” na stałe do obiektu, nadając jego powierzchni pożądany charakter. Rzadziej tekstura jest nieruchoma względem obiektu; w grafice czasu rzeczywistego (np. grach komputerowych) w ten sposób symuluje się metaliczne obiekty, które odbijają otoczenie (jest to tzw. mapowanie środowiska).
Tekstura proceduralna | ![]() |
To w grafice komputerowej (głównie w grafice 3D ) nazwa tekstur , które są tworzone na podstawie określonych procedur matematycznych ( algorytmów ). Tekstury proceduralne charakteryzuje praktycznie nieskończona dokładność, bowiem w odróżnieniu od tekstur bitmapowych, kolor punktu jest funkcją współrzędnych rzeczywistych, a nie całkowitych. Możliwe jest więc dowolne powiększanie takiej tekstury - oczywiście na tyle, na ile pozwala precyzja obliczeń.
Tekstury proceduralne mogą być dwuwymiarowe, wówczas kolor piksela jest funkcją dwóch zmiennych (patrz też: mapowanie ). W przypadku niektórych tekstur istnieją warianty trójwymiarowe, gdzie kolor punktu jest funkcją jego współrzędnych przestrzennych.
Przykłady tekstur proceduralnych:
Ważną cechą tekstur proceduralnych jest możliwość animacji ich parametrów (np. kolorów).
Niektóre programy graficzne pozwalają na różnorakie łącznie tekstur proceduralnych (czy w ogóle tekstur), tj. mieszanie kolorów, maskowanie, wprowadzenie zakłóceń itd. pozwalając uzyskać tym samym za pomocą względnie prostych tekstur składowych bardzo złożone obrazy.
Shader | ![]() |
To krótki program komputerowy, często napisany w specjalnym języku ( shader language ), który w grafice trójwymiarowej odpowiada za cieniowanie obiektów.
Pozwala na dużo bardziej skomplikowane modelowanie oświetlenia i materiału na obiekcie niż standardowe modele oświetlenia i teksturowanie . Jest jednak dużo bardziej wymagający obliczeniowo i dlatego dopiero od kilku lat sprzętowa obsługa shaderów jest obecna w kartach graficznych dla komputerów domowych. Wcześniej, shadery stosowane były w niektórych fotorealistycznych rendererach (np. Renderman ), gdzie grafika nie jest generowania w czasie rzeczywistym.
W stosunku do standardowych modeli oświetlenia, stosowanych do generowania grafiki w czasie rzeczywistym, shadery dają możliwość uwzględnienia między innymi: