• No results found

Hidden Lines. Computer Graphics. Types of Visibility Methods. Types of Visibility Methods. Back Face Culling. Back Face Culling

N/A
N/A
Protected

Academic year: 2021

Share "Hidden Lines. Computer Graphics. Types of Visibility Methods. Types of Visibility Methods. Back Face Culling. Back Face Culling"

Copied!
8
0
0

Loading.... (view fulltext now)

Full text

(1)

Graphics Lecture 7: Slide 1

Computer Graphics

Lecture 7:

Towards Solid objects: Texture mapping

Graphics Lecture 7: Slide 2

Hidden Lines

So far our treatment has concerned only points and lines.

This has utility in some applications, but for anything of complexity wire frame representations become confusing.

We need to eliminate the hidden parts of the picture

Graphics Lecture 7: Slide 3

Types of Visibility Methods

•Back-face culling

•Ordering in object space

•Depth sort •Painter’s algorithm •Ordering in projection space

•Ordering in image space

•Z-buffer •Ray casting

Graphics Lecture 7: Slide 4

Types of Visibility Methods

•Back-face culling

•Ordering in object space

•Depth sort •Painter’s algorithm •Ordering in projection space

•Ordering in image space

•Z-buffer •Ray casting

Back Face Culling

Polygons should be ordered in a consistent manner (clockwise or counter clockwise)

Polygons whose normal does not face the viewpoint, are not rendered

Pi

Pi+2

Back Face Culling

Polygons should be ordered in a consistent manner (clockwise or counter clockwise)

Polygons whose normal does not face the viewpoint, are not rendered

(2)

Graphics Lecture 7: Slide 7

Back Face Culling

Polygons whose normal is pointed away from the viewer can be culled. If ? is the angle between the normal and the viewer the polygon is front facing if

-90 < ? < 90 or cos ? > 90 Alternatively we can test for

n · v > 0

Graphics Lecture 7: Slide 8

Back Face Culling

Alternatively, think about back projection space

The transformed polygon must have a normal with a negative z component to be visible

V N +1 -1 O DOP

Graphics Lecture 7: Slide 9

Types of Visibility Methods

•Back-face culling

•Ordering in object space

•Depth sort •Painter’s algorithm •Ordering in projection space

•Ordering in image space

•Z-buffer •Ray casting

Graphics Lecture 7: Slide 10

The Painter’s Algorithm

Suppose we take each face of our wire frame and draw it in two dimensions as a filled polygon. By filling it we hide anything behind it.

So, if we draw the furthest parts first then the hidden parts of the scene are automatically eliminated

(3)

Graphics Lecture 7: Slide 16

The Painter’s Algorithm

Graphics Lecture 7: Slide 17

Depth-sort

Note that two polygons P and Q can be rendered in any order, if they do not overlap in X-Y

P can be rendered before Q if its P’s z range is completely behind Q’s

Graphics Lecture 7: Slide 18

Depth-sort

P can be rendered before Q if

• Z-extent of Q is wholly in front of P or • Y-extent of Q does not overlap P or • X-extent of Q does not overlap P or

• All points on P lie on the opposite side of Q than the COP

or

• All points on Q lie on the same side of Q as the COP or • The projections of P and Q on the XY plane do not overlap

Graphics Lecture 7: Slide 19

Types of Visibility Methods

•Back-face culling

•Ordering in object space

•Depth sort •Painter’s algorithm •Ordering in projection space

•Ordering in image space

•Z-buffer •Ray casting

The Z-Buffer

The painter’s algorithm requires the objects to be sorted into depth order.

A Z-Buffer algorithm is similar, but avoids sorting. Every time we set a pixel in our image we record in a

separate array (the z-buffer) the 3D z co-ordinate at

The Z-Buffer again

When we render a new polygon we check at each pixel to see whether it is nearer or further than the object currently drawn at that pixel.

We only set the pixel if the polygon is closer. A further advantage of the z-buffer is that it can be

(4)

Graphics Lecture 7: Slide 22

The Z-Buffer

• Most common usage is a a full window sized array of size m x n of 16, 24 or 32 bit “depth” values. • Basic idea:

• Initialise buffer to Z_MAX • For each pixel in each polygon

• If z < ZBUF[x,y] set CBUF[x,y] = col

• Now we have to write a z-value for each point

• directly from plane equation (re-calculate for each point) • incremental across the scan-line (store z_start and dz) • interpolate …

Graphics Lecture 7: Slide 23

Interpolating Depth

Interpolate z along edges AND interpolate between edges on each scan-line (bi-linear interpolation)

(X1,Y1,Z1) (X2,Y2,Z2) (XL,YL,ZL) (XR,YR,ZR) l r l r

x

x

z

z

dz

?

?

?

Graphics Lecture 7: Slide 24

Texture

The visual appearance of a graphics scene can be greatly enhanced by the use of texture.

Consider a brick building, using a polygon for every brick require a huge effort in scene design.

So why not use one polygon and draw a repeating brick pattern onto it?

Graphics Lecture 7: Slide 25

Texture Definition

Textures may be defined as:

Bitmaps - Arrays containing the actual pixel values to be mapped to the polygon. The data can be derived from photographs for example.

Procedures - Suitable for repeating patterns.

Texture Definition Space

?

? ? ?

? ?? ?

(5)

Graphics Lecture 7: Slide 28 a e p P1 P2 P3 P4 c Diagram 7.2 Bi-linear texture map b Polygon being textured ? ? ? ?

Mapping texture to individual pixels

Graphics Lecture 7: Slide 29

Bi-linear Map - Solving for ? and ?

p = ?a + ?e e = b + ?(c - b) so p = ?a + ?b + ? ?(c-b) Its Quadratic ! a e p P1 P2 P3 P4 c b ? ?

Graphics Lecture 7: Slide 30

Non Linearities in texture mapping

The second order term means that straight lines in the texture may become curved when the texture is mapped.

However, if the mapping is to a parallelogram: p = ?a + ?b + ? ?(c-b)

and b=c

so p = ?a + ?b

Graphics Lecture 7: Slide 31

Photographs as Textures

Photographs can be used to enhance reality with virtually no design effort.

For a flight simulator landing at an airport the distant landscape can be presented as a photograph which forms the back clipping plane

Alias Effects

One major problem with texture mapping is called alias effects.

These are caused by undersampling, and can cause unreal visual artefacts.

Appearance of the textured polygon in the image

12 Pixels 6 Pixels 4 Pixels 3 Pixels Polygon width Texture

(6)

Graphics Lecture 7: Slide 34

Alias effects in static images

Aliases appear in untextured static images as well. The have the characteristic of making straight line

boundaries look jagged.

This is also due to undersampling.

Graphics Lecture 7: Slide 35

Desired Boundaries Pixels Set

Alias Effects at straight boundaries in raster

images.

Graphics Lecture 7: Slide 36

Anti-Aliasing

The solution to aliasing problems is to apply a degree of blurring to the boundary such that the effect is reduced.

The most successful technique is called

Supersampling

Graphics Lecture 7: Slide 37

Supersampling

The basic idea is to compute the picture at a higher resolution to that of the display area.

Then the supersamples are averaged to find the pixel value.

This has the effect of blurring boundaries, but leaving coherent areas of colour unchanged

Solid lines are pixel boundaries Dashed lines are supersamples Polygon Boundary I1 I2 I1 (13/16)I2 + (3/16)I1 (3/16)I2 + (13/16)I1 Actual Pixel Intensities I1

Limitations of Supersampling

Supersampling works well for scenes made up of filled polygons.

However, it does require a lot of extra computation. It does not work for line drawings.

(7)

Graphics Lecture 7: Slide 40 Actual Pixel intensities I/4 I/4 0 0 I/4 I/4 I/4 I/4

Graphics Lecture 7: Slide 41

Convolution filtering

The more common (and much faster) way of dealing with alias effects is to use a ‘filter’ to blur the image. This essentially takes an average over a small region

around each pixel

Graphics Lecture 7: Slide 42

Theoretical Line

Pixels set to intensity I (others set to 0)

For example consider the image of a line

Graphics Lecture 7: Slide 43

Consider one pixel.

We replace the pixel by a local average, one possibility would be 3*I/9

Treat each pixel of the image

Weighted averages

Taking a straight local average has undesirable effects.

Thus we normally use a weighted average.

1/36 * 1 4 1 Convolution mask located at one pixel Theoretical Line Pixels set to intensity I (others set to 0) 4/9 1/9 1/9 1/9 1/9 1/36 1/36 1/36 1/36

(8)

Graphics Lecture 7: Slide 46

Convolution mask located at one pixel

Diagram 7.7: Anti-aliasing by convolution filtering Theoretical Line

Pixels set to intensity I (others set to 0)

(9/36)I

Final Pixel In tensities

(9/36)I (21/36)I (21/36)I 4/9 1/9 1/9 1/9 1/9 1/36 1/36 1/36 1/36

Graphics Lecture 7: Slide 47

Advantages of Convolution filtering

It is very fast and can be done in hardware, It is of general application

however

It does degrade the image while enhancing its visual appearance.

Graphics Lecture 7: Slide 48

Anti-Aliasing textures

This is essentially the same technique.

When we identify a point in the texture map we return an average of texture map around the point.

Scaling needs to be applied so that the less the samples taken the bigger the local area where averaging is done.

Graphics Lecture 7: Slide 52

Bump Mapping

Technique developed by Blinn 1978 to enable a surface to appear rough (eg.wrinkled or dimpled) without the need to model this in three dimensions.

Achieved by peturbating the surface normals of a smooth surface to ‘trick’ the eye into thinking this surface is rough textured.

Large efficiency gain since model can be much simplified Main limitation is that profiles and silhouettes of an object will not display the expected 3D surface characteristics

Bump Mapping

Original Surface Bump Map Bump Mapped

References

Related documents

In 1990, Congress amended the Internal Revenue Code (IRC) and the Social Security Act, making Social Security and Medicare coverage mandatory for most state and local gov-

• National Association of College and University Business Officers (NACUBO) • National Consortium for Continuous Improvement in Higher Education (NCCI) • Society for Human

(A) RMSSD: the square root of the sum of the squares of differences between adjacent NN intervals; (B) SDNN: the standard deviation of NN intervals; (C) High frequency; and (D)

A survey of recent developments in India, China, Brazil, Argentina, and Russia shows that the public finances of central and subnational governments in each of

As is increasingly recognized, and was pointed out at the Bank of Latvia conference where this paper was first presented, such ubiquitous rankings are difficult to interpret

Electricity suppliers can supply all of Great Britain unless

Callers from the education sector were more likely to have been dismissed (16%) and are far more likely to have resigned (18%) after raising their concern when compared

The aim of this study was to develop complementary food from composite flours of sweet potato (Ipomoea batatas L.) with orange flesh (OFSP), which is rich in beta carotene