texture mapping - cs.ucr.educraigs/courses/2018-fall-cs... · environment maps bump maps opacity...

Post on 11-Mar-2021

3 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Texture Mapping

University of California Riverside

Limits of geometric modeling

Although modern GPUs can render millions oftriangles/sec, that’s not enough sometimes. . .

Texture mapping for detail

This image contains 8 polygons!

Texture mapping comparison

no texture with texture

Pixar - Toy Story

Other uses of textures. . .

Light maps

Shadow maps

Environmentmaps

Bump maps

Opacity maps

Animation

Lookup reflectances in image

Image source: [1, 2]

Texture mapping in the pipeline

Geometry and pixels have separatepaths through pipelineTextures applied in fragment shader

End of pipelineEfficient since relatively few polygonsget past clipper

vertex input

vertex shader

tessellation

geometry shader

post vertex processing

primitive assembly

rasterization

fragment shader

per-sample operations

uv Mapping

2D texture is parameterized by (u, v)

Assign polygon vertices texture coordinates

Interpolate within polygon

(u0, v0)(u1, v1)

(u2, v2)

Texturing triangles

Store (u, v) at each vertex

Interpolate inside triangles using barycentriccoordinates

u

v 1, 10, 1

0, 0 1, 0

(0.4, 0.2)

(0.8, 0.4)

A

B C

a

bc

Texture Space Object Space

(u,v) = (0.2, 0.8)

Texturing triangles

Store (u, v) at each vertex

Interpolate inside triangles using barycentriccoordinates

p(β, γ) = pa + β(pb − pa) + γ(pc − pa)

u(β, γ) = ua + β(ub − ua) + γ(uc − ua)

v(β, γ) = va + β(vb − va) + γ(vc − va)

Texture mapping

Point sampling

Map back to texture image and use the nearest texel

Aliasing

Point sampling textures can lead to aliasing artifacts

Magnification and minification

Minification

Magnification

Aliasing artifacts

We apply filtering toreduce aliasing

artifacts

Area averaging

A better but slower option is to use area averaging

Use bilinear filtering

nearestneighbor

bilinear bicubic

P0 P1

P2 P3

P

mitigate magnification artifacts

Mipmapping

Reduce minification artifacts

Prefilter the texture to obtainreduced resolutions

Requires 13 more space

Get a texture hierarchyindexed by level

pointsampling

linearfiltering

mipmappedpoint

sampling

mipmappedlinear

filtering

pointsampling

linearfiltering

mipmappedpoint

sampling

mipmappedlinear

filtering

Environment mapping

Environment mapping

Use a texture for the distant environmentsimulate the effect of ray tracing more cheaply

Sphere mapping

Project objects in the environment ontosphere centered at eye

Unwrap and store as texture

Use reflection direction to look up texturevalue

Cube mapping

Compute six projections, one for each wall

Store as texture

Use reflection direction to lookup texturevalue

Different environment maps

Blinn/Newelllatitude mapping spherical mapping cube mapping

Environment mapping

Create the effect of a mirror with two-passrendering

First pass: render the scene from theperspective of the mirror

Second pass: render from original pov; use thefirst image as a texture for the mirror

Bump mapping

bump mapping geometric detail

Normal mapping

Attribution

[1] vort. Cellulartexture.png. https://commons.wikimedia.org/wiki/File:CellularTexture.png. CCBY-SA 3.0.

[2] Wiksaidit. Procedural texture.jpg.https://commons.wikimedia.org/wiki/File:Procedural Texture.jpg. CC BY-SA 3.0.

top related