graphics graphics lab @ korea university cgvr.korea.ac.kr 1 texture mapping 고려대학교...
TRANSCRIPT
Graphics
cgvr.korea.ac.kr 1 Graphics Lab @ Korea University Graphics Lab @ Korea University
Texture Mapping
고려대학교 컴퓨터 그래픽스 연구실
cgvr.korea.ac.kr
CGVR
2 Graphics Lab @ Korea University Graphics Lab @ Korea University
3D Rendering Pipeline
Model TransformationModel Transformation
LightingLighting
Viewing TransformationViewing Transformation
Projection TransformationProjection Transformation
ClippingClipping
Viewport TransformationViewport Transformation
Scan ConversionScan Conversion
3D Primitives
Image
3D Modeling Coordinates
3D World Coordinates
3D World Coordinates
3D Viewing Coordinates
2D Projection Coordinates
2D Projection Coordinates
2D Device Coordinates
2D Device Coordinates
TextureMapping
cgvr.korea.ac.kr
CGVR
3 Graphics Lab @ Korea University Graphics Lab @ Korea University
Textures
Color variation in interior of 3D polygon When scan converting a polygon
Vary pixel colors according to values fetched from a texture
s
t
Texture
y
z
x
Surface
ys
xsImage
cgvr.korea.ac.kr
CGVR
4 Graphics Lab @ Korea University Graphics Lab @ Korea University
Texture Surface
Add Visual Detail to Surfaces of 3D Objects
Polygonal Model
With Surface Texture
cgvr.korea.ac.kr
CGVR
5 Graphics Lab @ Korea University Graphics Lab @ Korea University
Overview
Texture mapping methods Mapping Filtering
Texture mapping applications Modulation textures Illumination mapping Bump mapping Environment mapping Image-based rendering Non-photorealistic rendering
cgvr.korea.ac.kr
CGVR
6 Graphics Lab @ Korea University Graphics Lab @ Korea University
Texture Mapping
Steps: Define texture Specify mapping from texture to surface Lookup texture values during scan conversion
TextureCoordinate
System
ModelingCoordinate
System
DeviceCoordinate
System
s
tvu
(0,1)
(0,0)
(1,0)y
x
cgvr.korea.ac.kr
CGVR
7 Graphics Lab @ Korea University Graphics Lab @ Korea University
Texture Mapping
When scan converting Device coordinate system (x,y) Modeling coordinate system (u,v) Texture image (t,s)
TextureCoordinate
System
ModelingCoordinate
System
DeviceCoordinate
System
s
tvu
(0,1)
(0,0)
(1,0)y
x
cgvr.korea.ac.kr
CGVR
8 Graphics Lab @ Korea University Graphics Lab @ Korea University
Texture Mapping
2D projective transformation Texture coordinate system (t,s) to Device coordinate system (x,y)
cgvr.korea.ac.kr
CGVR
9 Graphics Lab @ Korea University Graphics Lab @ Korea University
Texture Mapping
Scan conversion Interpolate texture coordinates Distortion due to bilinear interpolation approximation
Cut polygons into smaller ones, or Perspectively divide at each pixel
α βγ
(u1, v1)
(u3, v3)(u2, v2)
cgvr.korea.ac.kr
CGVR
10 Graphics Lab @ Korea University Graphics Lab @ Korea University
Texture Mapping
Linear Interpolationof Texture Coordinate
Corrected Interpolationwith Perspective Divide
cgvr.korea.ac.kr
CGVR
11 Graphics Lab @ Korea University Graphics Lab @ Korea University
Texture Mapping
Texture mapping methods Mapping Filtering
Texture mapping applications Modulation textures Illumination mapping Bump mapping Environment mapping Image-based rendering Non-photorealistic rendering
cgvr.korea.ac.kr
CGVR
12 Graphics Lab @ Korea University Graphics Lab @ Korea University
Texture Filtering
Must sample texture to determine color at each pixel in image
s
t
y
z
x
ys
xs
cgvr.korea.ac.kr
CGVR
13 Graphics Lab @ Korea University Graphics Lab @ Korea University
Texture Filtering
Aliasing is a problem
Point Sampling Area Filtering
cgvr.korea.ac.kr
CGVR
14 Graphics Lab @ Korea University Graphics Lab @ Korea University
Texture Filtering
Ideally, use elliptically shaped convolution filters In practice, use rectangles
Texture
Screen
cgvr.korea.ac.kr
CGVR
15 Graphics Lab @ Korea University Graphics Lab @ Korea University
Texture Filtering
Size of filter depends on projective warp Prefiltering images
Mip maps Summed area tables
s
t
ys
xs
Texel
Pixel
s
t
ys
xs
Texel
Pixel
Magnification Minification
cgvr.korea.ac.kr
CGVR
16 Graphics Lab @ Korea University Graphics Lab @ Korea University
Mip Maps
Keep textures prefiltered at multiple resolutions For each pixel, linearly interpolate between two
closest levels (e.g., trilinear filtering) Fast and easy for hardware
cgvr.korea.ac.kr
CGVR
17 Graphics Lab @ Korea University Graphics Lab @ Korea University
Overview
Texture mapping methods Mapping Filtering
Texture mapping applications Modulation textures Illumination mapping Bump mapping Environment mapping Image-based rendering Non-photorealistic rendering
cgvr.korea.ac.kr
CGVR
18 Graphics Lab @ Korea University Graphics Lab @ Korea University
Modulation Texture
Map Texture Values to Scale FactorW
ood
Textu
re
))RV((, TTRSL LLn
SDAAE IKIKISKLNKIKIstTI ))RV((, TTRSL LLn
SDAAE IKIKISKLNKIKIstTI
TextureValue
cgvr.korea.ac.kr
CGVR
19 Graphics Lab @ Korea University Graphics Lab @ Korea University
Illumination Mapping
Map Texture Values to Surface Material Parameter KA
KD
KS
KT
n
TTRSL LLn
SDAAE IKIKISKLNKIKII )RV( TTRSL LLn
SDAAE IKIKISKLNKIKII )RV(
stTKT ,
cgvr.korea.ac.kr
CGVR
20 Graphics Lab @ Korea University Graphics Lab @ Korea University
Bump Mapping
Map Texture Values to Perturbations of Surface Normals
cgvr.korea.ac.kr
CGVR
21 Graphics Lab @ Korea University Graphics Lab @ Korea University
Bump Mapping
cgvr.korea.ac.kr
CGVR
22 Graphics Lab @ Korea University Graphics Lab @ Korea University
Environmental Mapping
Map Texture Values to the Environment Map
Surface
ProjectionReference Point
Pixel Area
Pixel Projectiononto Environment
Map
cgvr.korea.ac.kr
CGVR
23 Graphics Lab @ Korea University Graphics Lab @ Korea University
Image-Based Rendering
Map Photographic Textures to Provide Details for Coarsely Detailed Polygonal Model
cgvr.korea.ac.kr
CGVR
24 Graphics Lab @ Korea University Graphics Lab @ Korea University
Nonphotorealistic Rendering
cgvr.korea.ac.kr
CGVR
25 Graphics Lab @ Korea University Graphics Lab @ Korea University
Summary
Texture mapping methods Mapping Filtering
Texture mapping applications Modulation textures Illumination mapping Bump mapping Environment mapping Image-based rendering Non-photorealistic rendering