Texture Mapping CS418 Computer Graphics John C. Hart.

10
Texture Mapping CS418 Computer Graphics John C. Hart

Transcript of Texture Mapping CS418 Computer Graphics John C. Hart.

Page 1: Texture Mapping CS418 Computer Graphics John C. Hart.

Texture Mapping

CS418 Computer Graphics

John C. Hart

Page 2: Texture Mapping CS418 Computer Graphics John C. Hart.

Interpolation

• Rasterization will interpolate any vertex attribute across a polygon’s fragments

• Interpolating color yields Gouraud smooth shading

• Can also define texture coordinates (u,v) at vertices that, when interpolated, map an image onto a meshed surface

0 1 2 3 4 5 6 7 8 90

1

2

3

4

5

6

7

8

9

Page 3: Texture Mapping CS418 Computer Graphics John C. Hart.

Texture Mapping

u

v

0 1

0

1

Page 4: Texture Mapping CS418 Computer Graphics John C. Hart.

Texture Mapping

u

v

0 1

0

1

(.2,.6)(.1,.6)

(.1,.7)

.1 .2

.6

.7

Page 5: Texture Mapping CS418 Computer Graphics John C. Hart.

Perspective Correction• In this example:

– y = -1, d = 1 and v -z

– vback maps to ytop = -1/-zback

– vhalf maps to yhalf = -1/-zhalf

– vfront maps to ybottom = -1/-zfront

• So need to interpolate inverse

• clip verts + attrs: (x,y,z,w,u,v,1)

• canvas vertices and attributes:(x/w, y/w, z/w, 1/w, u/w, v/w)

• interpolate: (u/w, v/w, 1/w)

• divide per-pixel by 1/wto get interpolated (u,v)

d ycanvas = y/(-z/d) = y/w

z

v

zfront zhalf zback

vbackvhalfvfront

ytop

y bottom

Page 6: Texture Mapping CS418 Computer Graphics John C. Hart.

1 3 5 7 9

Example

(0,0,0)

z = -1y = -1w = 1u = 0

-3-13.25

-5-15.5

-7-17.75

-9-191

-3-5

-9

-1

ycanvas = y/(-z/d) = y/w

u/w = 01/w = 1

u/w = 1/91/w = 1/9

u/w = .5/91/w = 5/9

u = 1.0

u = 0.1

u = 0.0

Page 7: Texture Mapping CS418 Computer Graphics John C. Hart.

Magnification Aliasing

• “Jaggies” – lines have a staircased edge appearance

• Occur when a single texture sample (texels) projects to multiple screen pixels

• (Also occurs when rasterizing lines or polygon edges)

Page 8: Texture Mapping CS418 Computer Graphics John C. Hart.

Bilinear Filtering

• “Jaggies” – lines have a staircased edge appearance

• Occur when a single texture sample (texels) projects to multiple screen pixels

• (Also occurs when rasterizing lines or polygon edges)

• Fixed by averaging neighboring samples to find the value between samples

Page 9: Texture Mapping CS418 Computer Graphics John C. Hart.

Minification Aliasing

• Many texture pixels (texels) map into a single screen pixel

• Cannot simply add them up because some pixels would take longer than others to add

Page 10: Texture Mapping CS418 Computer Graphics John C. Hart.

MIP Mapping

• Many texture pixels (texels) map into a single screen pixel

• Cannot simply add them up because some pixels would take longer than others to add

• Create an image pyramid from the initial texture

• Each level of the pyramid half the resolution of the one below it

• Choose the texture resolution whose projected texel size most closely matches pixel size