INFOGR Computer Graphics - Universiteit Utrecht - geometry and...ย ยท previous slides:...

33
INFOGR โ€“ Computer Graphics Jacco Bikker - April-July 2015 - Lecture 3: โ€œGeometryโ€ Welcome!

Transcript of INFOGR Computer Graphics - Universiteit Utrecht - geometry and...ย ยท previous slides:...

Page 1: INFOGR Computer Graphics - Universiteit Utrecht - geometry and...ย ยท previous slides: ๐‘1=โˆ’3,โˆ’1 ๐‘2 ... For the generic case, we lookup the color value in a pixel buffer.

INFOGR โ€“ Computer GraphicsJacco Bikker - April-July 2015 - Lecture 3: โ€œGeometryโ€

Welcome!

Page 2: INFOGR Computer Graphics - Universiteit Utrecht - geometry and...ย ยท previous slides: ๐‘1=โˆ’3,โˆ’1 ๐‘2 ... For the generic case, we lookup the color value in a pixel buffer.

Todayโ€™s Agenda:

2D Primitives

3D Primitives

Textures

Page 3: INFOGR Computer Graphics - Universiteit Utrecht - geometry and...ย ยท previous slides: ๐‘1=โˆ’3,โˆ’1 ๐‘2 ... For the generic case, we lookup the color value in a pixel buffer.

2D Primitives

INFOGR โ€“ Lecture 3 โ€“ โ€œGeometryโ€

Recap

Last time: vectors and their properties:

Magnitude, direction Scalar product Null vector, normal Parallel, linear (in)depence Commutative addition & subtraction Dot product, cross product

Concepts:

โ„d spaces (orthonormal) 2D basis, Cartesian Left handed, right handed

41

12

53

Page 4: INFOGR Computer Graphics - Universiteit Utrecht - geometry and...ย ยท previous slides: ๐‘1=โˆ’3,โˆ’1 ๐‘2 ... For the generic case, we lookup the color value in a pixel buffer.

2D Primitives

INFOGR โ€“ Lecture 3 โ€“ โ€œGeometryโ€

Implicit representation

Implicit curve:

๐‘“ ๐‘ฅ, ๐‘ฆ = 0

Function f maps two-dimensional points to a real value, i.e.

๐‘ฅ, ๐‘ฆ โ†’ ๐‘“(๐‘ฅ, ๐‘ฆ)

The points for which this value is 0 are on the curve.

Example: circle

๐‘ฅ2 + ๐‘ฆ2 โˆ’ ๐‘Ÿ2 = 0

If ๐‘ = (x, y) is a point on the circle, and ๐‘ is a vector from the origin to ๐‘, itโ€™s length must be ๐‘Ÿ, so โƒฆ ๐‘ โƒฆ = ๐‘Ÿ.

Example: circle with center c and radius r:

(x-c๐‘ฅ)2 + ๐‘ฆ โˆ’ ๐‘๐‘ฆ2 โˆ’ ๐‘Ÿ2 = 0

c

๐‘

๐‘

Page 5: INFOGR Computer Graphics - Universiteit Utrecht - geometry and...ย ยท previous slides: ๐‘1=โˆ’3,โˆ’1 ๐‘2 ... For the generic case, we lookup the color value in a pixel buffer.

2D Primitives

INFOGR โ€“ Lecture 3 โ€“ โ€œGeometryโ€

Implicit representation

Implicit curve:

๐‘“ ๐‘ฅ, ๐‘ฆ = 0

Function f maps two-dimensional points to a real value, i.e.

๐‘ฅ, ๐‘ฆ โ†’ ๐‘“(๐‘ฅ, ๐‘ฆ)

The points for which this value is 0 are on the curve.

Example: line

Slope-intersect form:

๐‘ฆ = ๐‘Ž๐‘ฅ + ๐‘

Implicit form:

โˆ’๐‘Ž๐‘ฅ + ๐‘ฆ โˆ’ ๐‘ = 0

In general:

๐ด๐‘ฅ + ๐ต๐‘ฆ + ๐ถ = 0

๐‘ฆ =2

3๐‘ฅ + 1

๐‘

โˆ†๐‘ฅ

โˆ†๐‘ฆ

๐‘Ž =โˆ†y

โˆ†x

Page 6: INFOGR Computer Graphics - Universiteit Utrecht - geometry and...ย ยท previous slides: ๐‘1=โˆ’3,โˆ’1 ๐‘2 ... For the generic case, we lookup the color value in a pixel buffer.

2D Primitives

INFOGR โ€“ Lecture 3 โ€“ โ€œGeometryโ€

Implicit line representation

๐ด๐‘ฅ + ๐ต๐‘ฆ + ๐ถ = 0

In this case:

A = โˆ’2

3, B = 1 , C = โˆ’1

The vector (A,B) is a normal of the line.

๐‘

โˆ†๐‘ฅ

โˆ†๐‘ฆ

Slope-intersect form:

๐‘ฆ = ๐‘Ž๐‘ฅ + ๐‘

Implicit form:

โˆ’๐‘Ž๐‘ฅ + ๐‘ฆ โˆ’ ๐‘ = 0

General form:

๐ด๐‘ฅ + ๐ต๐‘ฆ + ๐ถ = 0

๐‘ฆ =2

3๐‘ฅ + 1

๐‘(๐‘ฅ, ๐‘ฆ)

๐‘(โˆ’๐‘ฅ,โˆ’๐‘ฆ)

๐‘(๐‘ฆ,โˆ’๐‘ฅ)

๐‘(โˆ’๐‘ฆ, ๐‘ฅ)

Page 7: INFOGR Computer Graphics - Universiteit Utrecht - geometry and...ย ยท previous slides: ๐‘1=โˆ’3,โˆ’1 ๐‘2 ... For the generic case, we lookup the color value in a pixel buffer.

2D Primitives

INFOGR โ€“ Lecture 3 โ€“ โ€œGeometryโ€

Implicit line representation

๐ด๐‘ฅ + ๐ต๐‘ฆ + ๐ถ = 0

In this case:

A = โˆ’2

3, B = 1 , C = โˆ’1

The vector (A,B) is a normal of the line.

๐‘

โˆ†๐‘ฅ

โˆ†๐‘ฆ

We can use the normal to calculate the distance of a point to the line:

๐‘‘ = ๐‘ โˆ™ ๐‘ + ๐ถ

For ๐‘ = 3,3 :

๐‘‘ = โˆ’2

3โˆ— 3 + 1 โˆ— 3 โˆ’ 1

= โˆ’2 + 3 โˆ’ 1 = 0

For ๐‘ = 0,0 :

๐‘‘ = โˆ’2

3โˆ— 0 + 1 โˆ— 0 โˆ’ 1

= โˆ’1 (? )

๐‘ฆ =2

3๐‘ฅ + 1

Page 8: INFOGR Computer Graphics - Universiteit Utrecht - geometry and...ย ยท previous slides: ๐‘1=โˆ’3,โˆ’1 ๐‘2 ... For the generic case, we lookup the color value in a pixel buffer.

2D Primitives

INFOGR โ€“ Lecture 3 โ€“ โ€œGeometryโ€

Implicit line representation

๐ด๐‘ฅ + ๐ต๐‘ฆ + ๐ถ = 0

Given point ๐‘1 and ๐‘2, we determine A, B and C as follows:

๐‘™ = ๐‘2 โˆ’ ๐‘1

๐‘ = โˆ’๐‘™๐‘ฆ , ๐‘™๐‘ฅ

๐ด = ๐‘๐‘ฅ , ๐ต = ๐‘๐‘ฆ , ๐ถ = โˆ’(๐‘ ยท ๐‘1)

It is convenient to normalize the normal:

Only when ว๐‘ว = 1, |C| is the distance of the line to the origin.

p1

p2

Test with the line from the previous slides:

๐‘1 = โˆ’3,โˆ’1๐‘2 = 3,3

๐‘™ = 6,4

๐‘ = โˆ’4,6๐ด = โˆ’4, ๐ต = 6๐ถ = โˆ’( โˆ’4 โˆ— โˆ’3 + 6 โˆ— โˆ’1)

= โˆ’6

โˆ’4๐‘ฅ + 6๐‘ฆ โˆ’ 6 = 0

โˆ’2

3๐‘ฅ + ๐‘ฆ โˆ’ 1 = 0

|๐ถ|+

-

Page 9: INFOGR Computer Graphics - Universiteit Utrecht - geometry and...ย ยท previous slides: ๐‘1=โˆ’3,โˆ’1 ๐‘2 ... For the generic case, we lookup the color value in a pixel buffer.

2D Primitives

INFOGR โ€“ Lecture 3 โ€“ โ€œGeometryโ€

Parametric representation

Parametric curve:

๐‘ฅ๐‘ฆ =

๐‘”(๐‘ก)โ„Ž(๐‘ก)

Example: line

๐‘0 = ๐‘ฅ๐‘0, ๐‘ฆ๐‘0 , ๐‘1 = (๐‘ฅ๐‘1, ๐‘ฆ๐‘1)

๐‘ฅ๐‘ฆ =

๐‘ฅ๐‘0

๐‘ฆ๐‘0+ ๐‘ก

๐‘ฅ๐‘1 โˆ’ ๐‘ฅ๐‘0

๐‘ฆ๐‘1 โˆ’ ๐‘ฆ๐‘0

Or

๐‘ ๐‘ก = ๐‘0 + ๐‘ก ๐‘1 โˆ’ ๐‘0 , ๐‘ก โˆˆ โ„.

p0

p1

In this example:

๐‘1 is the support vector;๐‘1 โˆ’ ๐‘0 is the direction vector.

Page 10: INFOGR Computer Graphics - Universiteit Utrecht - geometry and...ย ยท previous slides: ๐‘1=โˆ’3,โˆ’1 ๐‘2 ... For the generic case, we lookup the color value in a pixel buffer.

2D Primitives

INFOGR โ€“ Lecture 3 โ€“ โ€œGeometryโ€

Slope-intercept:

๐‘ฆ = ๐‘Ž๐‘ฅ + ๐‘

Implicit representation:

โˆ’๐‘Ž๐‘ฅ + ๐‘ฆ โˆ’ ๐‘ = 0๐ด๐‘ฅ + ๐ต๐‘ฆ + ๐ถ = 0

Parametric representation:

๐‘ ๐‘ก = ๐‘0 + ๐‘ก ๐‘1 โˆ’ ๐‘0

p0

p1

โˆ†๐‘ฅ

โˆ†๐‘ฆ

Page 11: INFOGR Computer Graphics - Universiteit Utrecht - geometry and...ย ยท previous slides: ๐‘1=โˆ’3,โˆ’1 ๐‘2 ... For the generic case, we lookup the color value in a pixel buffer.

2D Primitives

INFOGR โ€“ Lecture 3 โ€“ โ€œGeometryโ€

Circle - parametric

๐‘ฅ๐‘ฆ =

๐‘ฅ๐‘ + ๐‘Ÿ cos๐œ™๐‘ฆ๐‘ + ๐‘Ÿ sin๐œ™

๐œ™

c

๐œ™

๐‘Ÿ

๐‘ฅ

๐‘ฆ

cos๐œ™ =๐‘ฅ

๐‘Ÿ

๐‘ ๐‘–๐‘› ๐œ™ =๐‘ฆ

๐‘Ÿ

๐‘ก๐‘Ž๐‘› ๐œ™ =๐‘ฆ

๐‘ฅ

adjacent

op

po

site

SOH CAH TOA

Page 12: INFOGR Computer Graphics - Universiteit Utrecht - geometry and...ย ยท previous slides: ๐‘1=โˆ’3,โˆ’1 ๐‘2 ... For the generic case, we lookup the color value in a pixel buffer.

Todayโ€™s Agenda:

2D Primitives

3D Primitives

Textures

Page 13: INFOGR Computer Graphics - Universiteit Utrecht - geometry and...ย ยท previous slides: ๐‘1=โˆ’3,โˆ’1 ๐‘2 ... For the generic case, we lookup the color value in a pixel buffer.

3D Primitives

INFOGR โ€“ Lecture 3 โ€“ โ€œGeometryโ€

Circle โ€“ sphere (implicit)

Recall: the implicit representation for a circle with radius ๐‘Ÿ and center ๐‘ is:

๐‘ฅ โˆ’ ๐‘ฅ๐‘ 2 + ๐‘ฆ โˆ’ ๐‘ฆ๐‘ 2 โˆ’ ๐‘Ÿ2 = 0

or: โˆฅ p โˆ’ c โˆฅ 2 โˆ’ ๐‘Ÿ2 = 0 โˆฅ ๐‘ โˆ’ ๐‘ โˆฅ = ๐‘Ÿ

In โ„3, we get:

๐‘ฅ โˆ’ ๐‘๐‘ฅ2 + ๐‘ฆ โˆ’ ๐‘๐‘ฆ

2 + ๐‘ง โˆ’ ๐‘๐‘ง 2 โˆ’ ๐‘Ÿ2 = 0

or: โˆฅ ๐‘ โˆ’ ๐‘ โˆฅ= ๐‘Ÿ

c

๐‘

Page 14: INFOGR Computer Graphics - Universiteit Utrecht - geometry and...ย ยท previous slides: ๐‘1=โˆ’3,โˆ’1 ๐‘2 ... For the generic case, we lookup the color value in a pixel buffer.

3D Primitives

INFOGR โ€“ Lecture 3 โ€“ โ€œGeometryโ€

Line โ€“ plane (implicit)

Recall: the implicit representation for a line is:

๐ด๐‘ฅ + ๐ต๐‘ฆ + ๐ถ = 0

In โ„3, we get a plane:

๐ด๐‘ฅ + ๐ต๐‘ฆ + ๐ถ๐‘ง + ๐ท = 0p1

p2

Page 15: INFOGR Computer Graphics - Universiteit Utrecht - geometry and...ย ยท previous slides: ๐‘1=โˆ’3,โˆ’1 ๐‘2 ... For the generic case, we lookup the color value in a pixel buffer.

3D Primitives

INFOGR โ€“ Lecture 3 โ€“ โ€œGeometryโ€

Parametric surfaces

A parametric surface needs two parameters:

๐‘ฅ = ๐‘“(๐‘ข, ๐‘ฃ),๐‘ฆ = ๐‘”(๐‘ข, ๐‘ฃ),๐‘ง = โ„Ž(๐‘ข, ๐‘ฃ).

For example, a sphere:

๐‘ฅ = ๐‘Ÿ cos๐œ™ sin ๐œƒ,๐‘ฆ = ๐‘Ÿ sin๐œ™ sin ๐œƒ,๐‘ง = ๐‘Ÿ cos ๐œƒ.

Doesnโ€™t look very convenient (compared to the implicit form), but it will prove useful for texture mapping.

๏ฟฝ

๐œƒ

Page 16: INFOGR Computer Graphics - Universiteit Utrecht - geometry and...ย ยท previous slides: ๐‘1=โˆ’3,โˆ’1 ๐‘2 ... For the generic case, we lookup the color value in a pixel buffer.

3D Primitives

INFOGR โ€“ Lecture 3 โ€“ โ€œGeometryโ€

Parametric planes

Recall the parametric line definition:

๐‘ ๐‘ก = ๐‘0 + ๐‘ก ๐‘1 โˆ’ ๐‘0

For a plane, we need to parameters:

๐‘ ๐‘ , ๐‘ก = ๐‘0 + ๐‘  ๐‘1 โˆ’ ๐‘0 + ๐‘ก(๐‘2 โˆ’ ๐‘0)

or:๐‘ ๐‘ , ๐‘ก = ๐‘0 + ๐‘  ๐‘ฃ + ๐‘ก๐‘ค

where: ๐‘0 is a point on the plane; ๐‘ฃ and ๐‘ค are two linearly independent

vectors on the plane; ๐‘ , ๐‘ก โˆˆ โ„.

y

z

x

๐‘ฃ

๐‘ค

๐‘0

Page 17: INFOGR Computer Graphics - Universiteit Utrecht - geometry and...ย ยท previous slides: ๐‘1=โˆ’3,โˆ’1 ๐‘2 ... For the generic case, we lookup the color value in a pixel buffer.

Todayโ€™s Agenda:

2D Primitives

3D Primitives

Textures

Page 18: INFOGR Computer Graphics - Universiteit Utrecht - geometry and...ย ยท previous slides: ๐‘1=โˆ’3,โˆ’1 ๐‘2 ... For the generic case, we lookup the color value in a pixel buffer.

Textures

INFOGR โ€“ Lecture 3 โ€“ โ€œGeometryโ€

Page 19: INFOGR Computer Graphics - Universiteit Utrecht - geometry and...ย ยท previous slides: ๐‘1=โˆ’3,โˆ’1 ๐‘2 ... For the generic case, we lookup the color value in a pixel buffer.

Textures

INFOGR โ€“ Lecture 3 โ€“ โ€œGeometryโ€

Back to the world of graphicsโ€ฆ

Given a plane: ๐‘ฆ = 0 (i.e., with a normal vector (0,1,0) ).

Two vectors on the plane define a basis: ๐‘ข = (1,0,0) and ๐‘ฃ = (0,0,1).

Using these vectors, any point on the plane can be reached: ๐‘ƒ = ฮป1๐‘ข + ฮป2 ๐‘ฃ.

We can now use ฮป1, ฮป2 to define a color at P: ๐น(ฮป1, ฮป2) = โ‹ฏ .

๐‘ข

๐‘ฃ

Page 20: INFOGR Computer Graphics - Universiteit Utrecht - geometry and...ย ยท previous slides: ๐‘1=โˆ’3,โˆ’1 ๐‘2 ... For the generic case, we lookup the color value in a pixel buffer.

Textures

INFOGR โ€“ Lecture 3 โ€“ โ€œGeometryโ€

Example:

๐น(ฮป1, ฮป2) = sin(ฮป1)

Another example:

๐น(ฮป1, ฮป2) = ( int (2 โˆ— ฮป1) + (int)ฮป2) & 1

Page 21: INFOGR Computer Graphics - Universiteit Utrecht - geometry and...ย ยท previous slides: ๐‘1=โˆ’3,โˆ’1 ๐‘2 ... For the generic case, we lookup the color value in a pixel buffer.

Textures

INFOGR โ€“ Lecture 3 โ€“ โ€œGeometryโ€

Other examples (not explained here):

Perlin noiseDetails: http://www.noisemachine.com/talk1

Voronoi / Worley noiseDetails: โ€œA cellular texture basis functionโ€, S. Worley, 1996.

Page 22: INFOGR Computer Graphics - Universiteit Utrecht - geometry and...ย ยท previous slides: ๐‘1=โˆ’3,โˆ’1 ๐‘2 ... For the generic case, we lookup the color value in a pixel buffer.

Textures

INFOGR โ€“ Lecture 3 โ€“ โ€œGeometryโ€

Obviously, not all textures can be generated procedurally.

For the generic case, we lookup the color value in a pixel buffer.

๐‘ฅ๐‘ฆ = ๐‘ƒ โˆ™ ๐‘ข

๐‘ƒ โˆ™ ๐‘ฃ

Note that we find the pixel to read based on ๐‘ƒ; we donโ€™t find a โ€˜๐‘ƒโ€™ for every pixel of the texture.

๐‘ข

๐‘ฃ

P

โˆ—๐‘‡๐‘ค๐‘–๐‘‘๐‘กโ„Ž

๐‘‡โ„Ž๐‘’๐‘–๐‘”โ„Ž๐‘ก

0 2550

255

Page 23: INFOGR Computer Graphics - Universiteit Utrecht - geometry and...ย ยท previous slides: ๐‘1=โˆ’3,โˆ’1 ๐‘2 ... For the generic case, we lookup the color value in a pixel buffer.

Textures

INFOGR โ€“ Lecture 3 โ€“ โ€œGeometryโ€

Retrieving a pixel from a texture:

๐‘ฅ๐‘ฆ = ๐‘ƒ โˆ™ ๐‘ข

๐‘ƒ โˆ™ ๐‘ฃโˆ—

๐‘‡๐‘ค๐‘–๐‘‘๐‘กโ„Ž

๐‘‡โ„Ž๐‘’๐‘–๐‘”โ„Ž๐‘ก

We donโ€™t want to read outside the texture. To prevent this, we have two options:

1. Clamping

2. Tiling

Tiling is efficiently achieved using a bitmask. This requires texture dimensions that are a power of 2.

0 2550

255๐‘ฅ๐‘ฆ =

๐‘๐‘™๐‘Ž๐‘š๐‘(๐‘ƒ โˆ™ ๐‘ข, 0, 1)

๐‘๐‘™๐‘Ž๐‘š๐‘(๐‘ƒ โˆ™ ๐‘ฃ, 0,1)โˆ—

๐‘‡๐‘ค๐‘–๐‘‘๐‘กโ„Ž

๐‘‡โ„Ž๐‘’๐‘–๐‘”โ„Ž๐‘ก

๐‘ฅ๐‘ฆ =

๐‘“๐‘Ÿ๐‘Ž๐‘(๐‘ƒ โˆ™ ๐‘ข)

๐‘“๐‘Ÿ๐‘Ž๐‘(๐‘ƒ โˆ™ ๐‘ฃ)โˆ—

๐‘‡๐‘ค๐‘–๐‘‘๐‘กโ„Ž

๐‘‡โ„Ž๐‘’๐‘–๐‘”โ„Ž๐‘ก

Page 24: INFOGR Computer Graphics - Universiteit Utrecht - geometry and...ย ยท previous slides: ๐‘1=โˆ’3,โˆ’1 ๐‘2 ... For the generic case, we lookup the color value in a pixel buffer.

Textures

INFOGR โ€“ Lecture 3 โ€“ โ€œGeometryโ€

Texture mapping: oversampling

Page 25: INFOGR Computer Graphics - Universiteit Utrecht - geometry and...ย ยท previous slides: ๐‘1=โˆ’3,โˆ’1 ๐‘2 ... For the generic case, we lookup the color value in a pixel buffer.

Textures

INFOGR โ€“ Lecture 3 โ€“ โ€œGeometryโ€

Texture mapping: undersampling

Page 26: INFOGR Computer Graphics - Universiteit Utrecht - geometry and...ย ยท previous slides: ๐‘1=โˆ’3,โˆ’1 ๐‘2 ... For the generic case, we lookup the color value in a pixel buffer.

Textures

INFOGR โ€“ Lecture 3 โ€“ โ€œGeometryโ€

Fixing oversampling

Oversampling: reading the same pixel from a texture multiple times.Symptoms: blocky textures.

Remedy: bilinear interpolation:Instead of clamping the pixel location to the nearest pixel, we read from four pixels.

๐‘ค๐‘1 : (1 โˆ’ ๐‘“๐‘Ÿ๐‘Ž๐‘(๐‘ฅ)) โˆ— (1 โˆ’ ๐‘“๐‘Ÿ๐‘Ž๐‘(๐‘ฆ))๐‘ค๐‘2 : ๐‘“๐‘Ÿ๐‘Ž๐‘ ๐‘ฅ โˆ— (1 โˆ’ ๐‘“๐‘Ÿ๐‘Ž๐‘ ๐‘ฆ )

๐‘ค๐‘3 : 1 โˆ’ ๐‘“๐‘Ÿ๐‘Ž๐‘ ๐‘ฅ โˆ— ๐‘“๐‘Ÿ๐‘Ž๐‘(๐‘ฆ)

๐‘ค๐‘4 : 1 โˆ’ (๐‘ค๐‘ƒ1 +๐‘ค๐‘ƒ2 +

๐‘ค๐‘ƒ3)

Page 27: INFOGR Computer Graphics - Universiteit Utrecht - geometry and...ย ยท previous slides: ๐‘1=โˆ’3,โˆ’1 ๐‘2 ... For the generic case, we lookup the color value in a pixel buffer.

Textures

INFOGR โ€“ Lecture 3 โ€“ โ€œGeometryโ€

Fixing oversampling

Page 28: INFOGR Computer Graphics - Universiteit Utrecht - geometry and...ย ยท previous slides: ๐‘1=โˆ’3,โˆ’1 ๐‘2 ... For the generic case, we lookup the color value in a pixel buffer.

Textures

INFOGR โ€“ Lecture 3 โ€“ โ€œGeometryโ€

Fixing undersampling

Undersampling: skipping pixels while reading from a texture.Symptoms: Moirรฉ, flickering, noise.

Remedy: MIP-mapping.

The texture is reduced to 25% by averaging2x2 pixels. This is repeated until a 1x1 imageremains.

When undersampling occurs, we switch tothe next MIP level.

Page 29: INFOGR Computer Graphics - Universiteit Utrecht - geometry and...ย ยท previous slides: ๐‘1=โˆ’3,โˆ’1 ๐‘2 ... For the generic case, we lookup the color value in a pixel buffer.

Textures

INFOGR โ€“ Lecture 3 โ€“ โ€œGeometryโ€

Page 30: INFOGR Computer Graphics - Universiteit Utrecht - geometry and...ย ยท previous slides: ๐‘1=โˆ’3,โˆ’1 ๐‘2 ... For the generic case, we lookup the color value in a pixel buffer.

Textures

INFOGR โ€“ Lecture 3 โ€“ โ€œGeometryโ€

Page 31: INFOGR Computer Graphics - Universiteit Utrecht - geometry and...ย ยท previous slides: ๐‘1=โˆ’3,โˆ’1 ๐‘2 ... For the generic case, we lookup the color value in a pixel buffer.

Textures

INFOGR โ€“ Lecture 3 โ€“ โ€œGeometryโ€

Trilinear interpolation: blending between MIP levels.

Page 32: INFOGR Computer Graphics - Universiteit Utrecht - geometry and...ย ยท previous slides: ๐‘1=โˆ’3,โˆ’1 ๐‘2 ... For the generic case, we lookup the color value in a pixel buffer.

Todayโ€™s Agenda:

2D Primitives

3D Primitives

Textures

Page 33: INFOGR Computer Graphics - Universiteit Utrecht - geometry and...ย ยท previous slides: ๐‘1=โˆ’3,โˆ’1 ๐‘2 ... For the generic case, we lookup the color value in a pixel buffer.

INFOGR โ€“ Computer GraphicsJacco Bikker - April-July 2015 - Lecture 3: โ€œGeometryโ€

END of โ€œGeometryโ€next lecture: โ€œ3D Engine Fundamentalsโ€