Hidden Surfaces Flashcards

(34 cards)

1
Q

Q1: What is the purpose of hidden surface removal (HSR)?

A

A1: To determine which surfaces of 3D objects are visible to the camera and remove those hidden behind others.

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

Q2: Why is HSR necessary in 3D rendering?

A

A2: Without it, the renderer would draw all polygons in any order — causing objects in the background to incorrectly appear on top of closer ones.

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

Q3: When does HSR occur in the graphics pipeline?

A

A3: After projection and clipping, but before rasterization and shading.

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

Q4: What is backface culling?

A

A4: A preprocessing step that removes polygons facing away from the camera (the “back” sides of objects).

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

Q5: How does the renderer know if a polygon is facing away?

A

A5: By comparing its surface normal with the view direction; if they point in the same general direction, the face is not visible.

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

Q6: What are the advantages of backface culling?

A

Fast and simple

Reduces workload by almost half for closed objects

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

Q7: What are the limitations of backface culling?

A

Only hides faces on the same object

Does not handle one object blocking another

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

Q8: Why is backface culling still always used?

A

A8: It’s cheap and efficient — a quick first step before more complex algorithms.

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

Q9: What is the main idea of the Painter’s Algorithm?

A

A9: Sort polygons by depth and draw from the farthest to the nearest, so closer surfaces overwrite distant ones.

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

Q10: Why is it called the Painter’s Algorithm?

A

A10: It mimics how a painter works — painting the distant background first, then the foreground on top.

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

Q11: What is a key advantage of the Painter’s Algorithm?

A

A11: Conceptually simple and works well for scenes without complex overlaps.

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

Q12: What are major drawbacks of the Painter’s Algorithm?

A

Struggles with cyclic overlaps (A covers B, B covers C, C covers A).

Requires sorting, which can be slow.

May redraw hidden polygons unnecessarily.

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

Q13: In what type of rendering is Painters Algorithm still useful?

A

A13: Software rendering or stylized scenes where absolute accuracy isn’t critical.

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

Q14: What is the Z-buffer algorithm used for?

A

A14: It keeps track of the closest surface at each pixel to determine visibility.

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

Q15: How does the Z-buffer algorithm work conceptually?

A

Each pixel stores a depth value (z). When a new polygon is drawn, its z is compared to the stored one; if it’s closer, the pixel is updated.

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

Q16: What happens to a pixel if a new surface is farther away than the stored one?

A

A16: It’s ignored — because that part of the surface is hidden.

17
Q

Q17: What are the strengths of the Z-buffer method?

A

Handles any scene complexity or overlap

Fully automated in hardware (GPUs)

Works in real-time rendering

18
Q

Q18: What are the weaknesses of the Z-buffer method?

A

Depth precision limits can cause artifacts (z-fighting).

Wastes time processing some hidden pixels.

19
Q

Q19: Why is it so widely used (z buffer method)?

A

A19: It’s simple, general, and hardware-accelerated — ideal for interactive 3D graphics.

20
Q

What is z-fighting

A

A20: When two surfaces are very close together in depth and the Z-buffer can’t distinguish which one is in front — causing flickering.

21
Q

Q21: What factors increase z-fighting?

A

Near and far clipping planes being too far apart.

Limited Z-buffer precision (e.g., 24-bit integer buffer

22
Q

Q22: How can z-fighting be reduced?

A

Move the near plane farther away.

Bring the far plane closer.

Use a higher-precision or floating-point depth buffer.

Avoid co-planar polygons.

23
Q

Q23: What is the main concept of BSP trees?

A

A23: Divide space recursively with planes so polygons can be drawn in correct back-to-front order.

24
Q

Q24: How does a BSP tree determine draw order?

A

A24: Based on which side of a polygon’s plane the viewer is on — recursively draw the far side, then the polygon, then the near side.

25
Q25: What is an advantage of BSP trees?
A25: Once built, they allow fast sorting of polygons from any viewpoint — no need to re-sort every frame.
26
Q26: What are drawbacks of BSP trees?
Complex to build. Polygon splitting increases data size. Poor for moving or dynamic objects.
27
Q27: In what scenarios were BSP trees used historically?
A27: In early 3D games (like DOOM) and static architectural models before GPUs had Z-buffers.
28
Q28: What is the difference between visibility at the object level and pixel level?
Object level: Decides which entire polygons or surfaces are visible. Pixel level: Decides visibility per individual pixel (like the Z-buffer does).
29
Q29: Why can’t we just draw polygons in the order they’re created?
A29: Because depth relationships between objects can change based on the camera view — a distant object might appear in front from another angle.
30
Q30: What’s the difference between culling and clipping?
Culling: Removes polygons that face away or are invisible. Clipping: Cuts off parts of polygons that lie outside the view volume.
31
Q31: Why is backface culling considered a “coarse” method?
A31: It eliminates entire polygons based on orientation but doesn’t check for occlusion by other objects.
32
Q32: Which hidden surface algorithm works best for real-time rendering?
A32: Z-buffer, because it’s parallelizable and implemented in hardware.
33
Q33: Which algorithm is best for static scenes that don’t move?
A33: BSP trees, since they only need to be built once.
34
Q34: What is the most likely cause of flickering between two nearly-flat walls in a 3D game?
A34: Z-fighting due to limited depth buffer precision.