Lecture 13/14 Geometric Modeling Flashcards

1
Q

What are the three most common types of Geometric models?

A
  1. Solid - implicit
  2. Surface - parametric
  3. Voxel - explicit
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

How does solid modeling work?

A

Uses sets of points / “chunks” of 3D space.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

When Rendering Solid Models, what is the ray casting process?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are the surface model formulas?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Why are triangle meshes useful for surface texturing?

A

Triangle meshes are very common

Simplicity and generality: just a set of triangles (vertices + faces)

Efficiently rendered by graphics hardware (three vertices on a plane)

Output of most 3D acquisition tools (3D scanners)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are some methods of Surface Model Rendering

A

Scan Conversion (this unit)
Ray Tracing
Radiosity
Photon-mapping

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are the pros and cons of Scan Conversion (this unit) as a method of surface model rendering?

A

+ Fast
- Limited realism

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What are the pros and cons of Ray Tracing

A

+ Realistic
- Slower
-/+ Leaves a glossy finish

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are the pros and cons of Radiosity

A

+ Models ambient light very well
- Slower

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is photon-mapping?

A

Modern method – combines ray-tracing and radiosity

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What are voxels?

A

Voxels are “3D” pixels – cubes, not squares

  • f(x,y,z) = some value, possibly a vector of values , (eg. rgb)
  • Used for modelling, (3D) textures
  • Volume rendering (or fit a surface)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What are particle models?

A

A bunch of “points”
- But the points be any shape
…flocks of birds (boids)
- Fireworks
- Can be used for quick ad-hoc rendering

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is Model acquisition?

A

The process of getting geometric models into a computer

… this can be done by sensors and scanning

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What are the benefits of using meshes?

A

Easy to display
…e.g. looping over vertices for fast drawing

Easy to access (instant access to neighbours)
…given a triangle, what are the adjacent triangles?
…given an edge, which two triangles share it?
…given a vertex, which faces/edges share it?

Easy to edit (add/delete vertices, faces)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is needed from a data structure for a mesh?

A

What we need from data structure:

Representation for faces, edge, vertex and their relationship

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is the Face-vertex data structure?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

What are the pros and cons of a Face-edge-vertex data structure?

A

+ Store all relationships between faces, vertices and edges

+ Complete representation(everything easily accessible)

  • But over-represents information(stores highly redundant information)
18
Q

What is the graphics pipeline?

A
19
Q

What are the details of stage 1 of the graphics pipeline?

A

Stage 1: Vertex processing

-Applies transformation from object space to clip (camera) space

  • Input: vertex data(position, normal, colour etc.)
  • Output: transformed vertices (homogeneous), colours etc.
  • Pass along material and shading data (to fragment processing)
20
Q

What are the details of stage 2 of the graphics pipeline?

A

Stage 2: Clipping and rasterisation

  • Turns sets of vertices into primitives and fills them in
  • Input: vertices in clip (camera) space, colours, etc.
  • Output: set of fragments with interpolated data (3D positions, depth, normals etc.)
21
Q

How can a vertex normal be obtained?

A
22
Q

What are the details of stage 3 of the graphics pipeline?

A

Stage 3: Fragment processing

Compute final fragment colours and depth
- Depth often untouched
- Lots of texture mapping (see later)
- Final lighting computations (see later)

INPUT: fragments w/ interpolated data
OUTPUT: final colour and depth

23
Q

Explain Lighting with flat shading, referencing the triangle normal

A

Shade using the real normal of the triangle
- Piecewise constant (flat) and faceted look

24
Q

Explain Lighting – Gouraud shading, referencing the triangle normal

A

Compute shading at vertex position, using vertex normals
- Interpolate colours smoothly over the triangle

25
Q

Explain Lighting – Phong shading, referencing the triangle normal

A

Interpolate normals per pixel, then compute shading
- Much better highlights than Gouraud shading

(left - right: flat, gourad, phong)

26
Q

Explain stage 4 of the graphics pipeline

A

Stage 4: Framebuffer processing

Hidden surface elimination:
- Decides which surfaces are visible

framebuffer blending:
- Compose transparent surfaces(if necessary)

INPUT: fragment colours & depth
OUTPUT: final image

27
Q

Explain Hidden Surface Removal (Painter’s Algorithm)

A

Draw objects from back to front, ‘overpainting’ the framebuffer

  • Simplest way to handle hidden surfaces
  • May do a lot of useless work (overpainting hidden surfaces)
  • Not all surfaces can be sorted !
28
Q

Explain the purpose of the z-buffer

A
29
Q

Explain the process of Hidden Surface Removal: The z-buffer

A

draw in any order and keep track of closest object
allocate depth (z) buffer to store closest depth so far for each pixel
when drawing an object, compare its depth to depth buffer value:
if less (new object is closer): update both colour framebuffer and depth buffer
if greater (new object is occluded): discard object

30
Q

finish stage 2 flashcards … slide 16 - 21

A
31
Q

When testing each end point against all frustrum planes, when is the line rejected?

A
  1. Both endpoints are outside and no crossing, reject the line.
32
Q

When testing each end point against all frustrum planes, when is the line fully accepted?

A
  1. Both end points are inside, accept the whole line,
33
Q

When testing each end point against all frustrum planes, when is the line clipped?

A
  1. One end point inside, other outside, clip the line,
  2. Both outside but line crosses frustrum, clip the line,
34
Q

When clipping objects (stage 2), when are objects culled?

A

Full objects are removed (culled) when not in view of frustum (behind the eye).

These invisible primitives are removed for efficiency, as they skip later pipeline stages.

35
Q

What is point-plane clipping:

A

positive dot n * u > 0 product means on the “outside”
Test against all 6 frustrum planes.

36
Q

What is Polygon clipping?

A

Convex polygons are similar to line clipping:
Clip each point in sequence
- Remove outside points
- Create new points on boundary

37
Q

During the rasterization process, what are the two ways to decide which pixels to ‘turn on’?

A
  1. Aliased Boundry: pixel is either in the primitive or not.
  2. Anti-aliasing… smoothing
38
Q

What does the rasterization step do in the graphics pipeline?

A

Approximates primitives into pixels(centred at integer coordinates)

39
Q

What are the steps of rasterization?

A
  1. Determine which pixels to turn on:
    Input: vertex position in homogeneous coordinates
  2. interpolate values across primitive
    e.g. colour, normals, position, depth at vertices
    Input: any vertex property
40
Q

If two triangles overlap, which dominates the pixel during triangle rasterization?

A

Triangle rasterization: Scan Conversion

The pixel covering the pixel center dominates