Q1: What is the purpose of hidden surface removal (HSR)?
A1: To determine which surfaces of 3D objects are visible to the camera and remove those hidden behind others.
Q2: Why is HSR necessary in 3D rendering?
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.
Q3: When does HSR occur in the graphics pipeline?
A3: After projection and clipping, but before rasterization and shading.
Q4: What is backface culling?
A4: A preprocessing step that removes polygons facing away from the camera (the “back” sides of objects).
Q5: How does the renderer know if a polygon is facing away?
A5: By comparing its surface normal with the view direction; if they point in the same general direction, the face is not visible.
Q6: What are the advantages of backface culling?
Fast and simple
Reduces workload by almost half for closed objects
Q7: What are the limitations of backface culling?
Only hides faces on the same object
Does not handle one object blocking another
Q8: Why is backface culling still always used?
A8: It’s cheap and efficient — a quick first step before more complex algorithms.
Q9: What is the main idea of the Painter’s Algorithm?
A9: Sort polygons by depth and draw from the farthest to the nearest, so closer surfaces overwrite distant ones.
Q10: Why is it called the Painter’s Algorithm?
A10: It mimics how a painter works — painting the distant background first, then the foreground on top.
Q11: What is a key advantage of the Painter’s Algorithm?
A11: Conceptually simple and works well for scenes without complex overlaps.
Q12: What are major drawbacks of the Painter’s Algorithm?
Struggles with cyclic overlaps (A covers B, B covers C, C covers A).
Requires sorting, which can be slow.
May redraw hidden polygons unnecessarily.
Q13: In what type of rendering is Painters Algorithm still useful?
A13: Software rendering or stylized scenes where absolute accuracy isn’t critical.
Q14: What is the Z-buffer algorithm used for?
A14: It keeps track of the closest surface at each pixel to determine visibility.
Q15: How does the Z-buffer algorithm work conceptually?
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.
Q16: What happens to a pixel if a new surface is farther away than the stored one?
A16: It’s ignored — because that part of the surface is hidden.
Q17: What are the strengths of the Z-buffer method?
Handles any scene complexity or overlap
Fully automated in hardware (GPUs)
Works in real-time rendering
Q18: What are the weaknesses of the Z-buffer method?
Depth precision limits can cause artifacts (z-fighting).
Wastes time processing some hidden pixels.
Q19: Why is it so widely used (z buffer method)?
A19: It’s simple, general, and hardware-accelerated — ideal for interactive 3D graphics.
What is z-fighting
A20: When two surfaces are very close together in depth and the Z-buffer can’t distinguish which one is in front — causing flickering.
Q21: What factors increase z-fighting?
Near and far clipping planes being too far apart.
Limited Z-buffer precision (e.g., 24-bit integer buffer
Q22: How can z-fighting be reduced?
Move the near plane farther away.
Bring the far plane closer.
Use a higher-precision or floating-point depth buffer.
Avoid co-planar polygons.
Q23: What is the main concept of BSP trees?
A23: Divide space recursively with planes so polygons can be drawn in correct back-to-front order.
Q24: How does a BSP tree determine draw order?
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.