Wprowadzenie do grafiki
komputerowej
Wprowadzenie do grafiki
komputerowej
Wykład 7
Wykład 7
Tekstury
Tekstury
Spis treści:
Spis treści:
1. Mapa tekstury, tekstura
1. Mapa tekstury, tekstura
2. Podstawowe typy tekstur
2. Podstawowe typy tekstur
-
-
Odwzorowanie tekstury (ang. texture
mapping)
- Odwzorowanie zakłócające (ang. bump
mapping)
- Tekstury objętościowe (ang. solid
texture)
- Hipertekstury (ang. hypertexture)
3. Tekstury specjalne
3. Tekstury specjalne
Mapa tekstury (ang. texture map)
- obraz
wykorzystywany do zmiany cech obiektu
graficznego, podlegający zmianom
perspektywicznym.
1. Mapa tekstury,
tekstura
1. Mapa tekstury,
tekstura
Tekstura (ang. texture)
- modulacja
barwy, jasności i innych właściwości
powierzchni, stosowana do
powierzchni obiektów graficznych w
taki sposób aby wzory pojawiały się
jako związane z powierzchnią przy
zmianach punktu obserwacji i
perspektywy.
Na teksturę składa się zbiór danych
opisujących cechy obiektu (np. mapa
tekstury, mapa nierówności, wzór
matematyczny) i metoda
odwzorowania tych danych na obiekt.
2. Podstawowe typy
tekstur
2. Podstawowe typy
tekstur
Odwzorowanie tekstury (
Odwzorowanie tekstury (
ang. texture
ang. texture
mapping
mapping
)
)
Odwzorowanie zakłócające (
Odwzorowanie zakłócające (
ang. bump
ang. bump
mapping
mapping
)
)
Tekstury objętościowe (
Tekstury objętościowe (
ang. solid texture
ang. solid texture
)
)
Hipertekstury (
Hipertekstury (
ang. hypertexture
ang. hypertexture
)
)
Odwzorowanie tekstury (ang. texture mapping)
Rzutowanie obrazu (mapy tekstury) z
przestrzeni w której jest zdefiniowany,
na płaską lub
krzywoliniową powierzchnię.
Mapa tekstury
Odwzorowanie mapy tekstury
na:
płaszczyznę (a), kulę (b)
a)
a)
b)
b)
Interpolacja między czterema
sąsiednimi tekselami:
kolor_piksela
= w
k
C
k
dla
k =
1,2,3,4.
C
k
-
kolor teksela,
w
k
-
waga
Obraz: (a) bez filtracji, (b) po filtracji
dwuliniowej
i i+1
i i+1
j
j
j+1
j+1
Filtrowanie tekstury:
Filtrowanie tekstury:
Interpolacja dwuliniowa (
Interpolacja dwuliniowa (
ang. bilininear filtering
ang. bilininear filtering
)
)
Mapa tekstury obiekt daleki
obiekt bliski
Mipmapping
Mipmapping
Bez mipmappingu (a), z mipmappingiem (b)
Ciąg map dla mipmappingu
Mipmapa
R
G
B
Mipmapa: sposób
uporządkowania pamięci dla
trójkolorowej piramidy
(zbioru) map RGB o rozmiarze
2
n
2
n
.
Składowe RGB piksela
K obliczane są przez
interpolację
dwuliniową tekseli 1-
4.
Składowe RGB piksela
L obliczane są przez
interpolację
dwuliniową tekseli 5-
8.
Kolor piksela P liczony
jest przez interpolację
liniową między K i L.
Interpolacja trzyliniowa (
Interpolacja trzyliniowa (
ang.
ang.
trilinear
trilinear
filtering)
filtering)
Odwzorowanie
Odwzorowanie
zakłócające
zakłócające
(
(
ang.
ang.
bump mapping
bump mapping
)
)
Odwzorowanie tekstury, w którym występuje zakłócanie
kierunków normalnych do powierzchni obiektu, więc
po uwzględnieniu oświetlenia i cieniowania powierzchni
nie wygląda ona na gładką, podczas gdy w istocie jest
geometrycznie gładka.
Mapy nierówności (a,b) i odwzorowanie mapy (a) na ściany
prostopadłościanów. Stopień szarości w mapie nierówności
odpowiada wartości „przesunięcia” punktu obiektu powyżej lub
poniżej powierzchni.
a)
b)
[3DStudioM
[3DStudioM
ax]
ax]
u
v
x
e
ye
ekra
n
Mapa tekstury
jest
mapą
nierówności
N=UV
U
V
s
t
Można również wpisywać liczbowe
wartości przesunięć do mapy
nierówności.
Za pomocą teksela h(P)
odpowiadającego punktowi P
można przesunąć punkt P trochę
powyżej lub poniżej powierzchni
płata, wzdłuż normalnej N.
[FOLE95
]
P P
P
N
N
'
( )
h
Nierówności w postaci wgnieceń,
zmarszczeń, falistości uzyskuje się przez
generowanie zwichrowanych normalnych
za pomocą funkcji matematycznych
wykorzystujących generatory szumu.
N' N
w
w
w
A
B
C
n
i
n
i
i
i
0
1
2
sin(
)
A - głebokość pomarszczeń, B, n - liczba fałd, C - przemieszcza
fałdy
n=1, A=0.3, B=3 n=50, A=1, B=10 n=100, A=5,
B=500 C=1
Przykład:
powierzchnia falista
Tekstury objętościowe (
Tekstury objętościowe (
ang. solid
ang. solid
texture
texture
)
)
Funkcja
tekstury
zdefiniowana
w
Funkcja
tekstury
zdefiniowana
w
przestrzeni trójwymiarowej, tak żeby
przestrzeni trójwymiarowej, tak żeby
teksturowane obiekty wyglądały jak
teksturowane obiekty wyglądały jak
wycięte
z
materiału
mającego
wycięte
z
materiału
mającego
wewnętrzny wzór, np. marmur (a) lub
wewnętrzny wzór, np. marmur (a) lub
drewno (b).
drewno (b).
a)
a)
b)
b)
[FOLE95]
Wzorzec tekstury bryłowej jest trójwymiarowym
zbiorem barw. Można go porównać do bloku
marmuru, z którego rzeźbiarz wykrawa posąg.
Każdy punkt (x,y,z) bloku ma inną barwę.
Utworzenie i manipulowanie dużą tablicą pikseli
jest niewygodne, więc do wygenerowania barwy
punktu stosuje się:
- trójwymiarowe funkcje matematyczne
wykorzystujące generatory szumu (a, c),
- funkcje o stałej wartości wzdłuż określonych linii
w objętości (tekstury rzutowane) (b).
[FOLE95]
c)
c)
Hipertekstury
Hipertekstury (ang. hypertexture)
Hipertekstura zmienia kształt
Hipertekstura zmienia kształt
powierzchni obiektu w wyniku modulacji
powierzchni obiektu w wyniku modulacji
gęstości materii wewnątrz obiektu:
gęstości materii wewnątrz obiektu:
0 - brak materii,
0 - brak materii,
1 - obszar całkowicie
1 - obszar całkowicie
nieprzezroczysty.
nieprzezroczysty.
gęstość
gęstość
=
=
[FOLE95]
3. Tekstury specjalne
3. Tekstury specjalne
1. Mapa przezroczystości
1. Mapa przezroczystości
2. Duszki
2. Duszki
3. Mapowanie środowiska
3. Mapowanie środowiska
a
a
)
)
b)
b)
a
a
)
)
b)
b)
a) mapa przezroczystości (kolor czarny jest
przezroczysty)
b) efekt jej mapowania na obiekt (prostokąt)
1. Mapa
1. Mapa
przezroczystości
przezroczystości
Tekstura utworzona z mapy przezroczystości
automatycznie ustawia się prostopadle do
punktu widzenia pozorując trójwymiarowość
nieprzezroczystych obiektów mapy.
Punkt widzenia
Mapa
przezroczystoś
ci
2. Duszki (ang. sprites,
billboards, decals)
2. Duszki (ang. sprites,
billboards, decals)
Kąty używane są do wybrania klatki
z odpowiednim ujęciem.
Przełączanie tekstur
Przełączanie tekstur
Postać w ruchu obserwowana z dwóch różnych
kierunków.
Przełączanie tekstur (4 klatki) w czasie ruchu
360
-90
90
0
Q
Zakładamy, że obiekt odbija w kierunku
obserwatora V:
• światło padające bezpośrednio ze źródła (z
kierunku L),
• światło odbite od innej powierzchni sceny i
padające na obiekt z kierunku R.
Obiekt otaczamy sferą na którą mapowany jest
obraz środowiska, z prawa odbicia obliczamy
kierunek R. Punktowi przecięcia Q promienia
odbitego ze sferą odpowiada punkt na mapie
tekstury.
Q
P
R
V
N
x
y
z
L
3. Mapowanie
środowiska
3. Mapowanie
środowiska