ScholarQuill logoScholarQuillUniversity Notes
  • Notes
  • Past Papers
  • Blogs
  • Todo
Login
ScholarQuill logoScholarQuillUniversity Notes
Login
NotesPast PapersBlogsTodo
More
SubjectsDiscussionCGPA CalculatorGPA CalculatorStudent PortalCourse Outline
About
About usPrivacy PolicyReportContact
Notes
Past Papers
Blogs
Todo
Analytics
    Current Subject
    🧩
    HCI & Computer Graphics
    COMP3145
    Progress0 / 73 topics
    Topics
    1. The Human: Input-output channels2. Human memory3. Thinking, Reasoning, Problem solving4. Emotions and Individual differences5. Psychology and design of interacting systems6. The Computer: Text entry devices7. Positioning, Pointing, and drawing devices8. Display devices9. Devices for virtual reality and 3D interaction10. Physical controls, Sensors and special devices11. Paper printing and scanning12. Memory, Processing and networks13. The Interaction: Models of interaction14. Frameworks and HCI15. Ergonomics16. Interaction styles17. Elements of the WIMP interfaces18. Interactivity and Context of interaction19. Usability Paradigm and Principles: Introduction20. Paradigms for interaction21. Interaction Design Basics: What is design22. Process of design and User focus23. Navigation design24. Screen design and layout25. Iteration and prototyping26. HCI in Software Process: Software life cycle27. Usability engineering28. Iterative design and prototyping29. Design rationale30. Design rules and Guidelines31. Golden rules and heuristics32. HCI patterns33. Evaluation techniques and methods34. Task analysis35. Universal design36. User support systems37. Computer Supported Cooperative Work38. Groupware systems39. Implementation of synchronous groupware40. Ubiquitous computing41. History of Computer Graphics42. Graphics architectures and software43. Imaging and vision: Pinhole camera, Human vision, Synthetic camera44. Modeling vs. rendering45. OpenGL Architecture46. Displaying simple two-dimensional geometric objects47. Positioning systems and windowed environment48. Color perception and models49. RGB, CMY, HLS color models50. Color transformations51. Color in OpenGL: RGB and indexed color52. Input: Network environment and client-server computing53. Input measures: event, sample and request input54. Using callbacks and picking55. Affine transformations: translation, rotation, scaling, shear56. Homogeneous coordinates and concatenation57. Current transformation and matrix stacks58. Three Dimensional Graphics: Classical viewing59. Specifying views in 3D60. Affine transformation in 3D61. Projective transformations62. Ray tracing63. Shading: Illumination and surface modeling64. Phong shading model65. Polygon shading66. Rasterization: Line drawing via Bresenham's algorithm67. Clipping and polygonal fill68. BitBlt operations69. Hidden surface removal (z buffer)70. Discrete Techniques: Buffers71. Reading and writing bitmaps and pixel maps72. Texture mapping73. Compositing
    COMP3145›Hidden surface removal (z buffer)
    HCI & Computer GraphicsTopic 69 of 73

    Hidden surface removal (z buffer)

    2 minread
    368words
    Beginnerlevel

    1. Definition

    Hidden Surface Removal (HSR) is the process of determining which surfaces (or parts of surfaces) of 3D objects are visible from a viewpoint and which are hidden behind other objects.

    • Ensures that only the visible surfaces are rendered.
    • Improves realism and avoids unnecessary computation.

    The Z-buffer (Depth Buffer) technique is one of the most widely used methods for HSR.


    2. Z-Buffer Method

    Z-buffering stores depth information for each pixel on the screen to determine which surfaces are visible.

    2.1 Concept

    • Each pixel has a depth value (z-value) representing its distance from the viewer.

    • When rendering a polygon:

      1. Compute the z-value for each pixel on the polygon.
      2. Compare it with the current z-value stored in the Z-buffer.
      3. Update the pixel color only if the new z-value is closer (smaller) than the stored z-value.

    3. Steps of Z-Buffer Algorithm

    1. Initialize Buffers

      • Framebuffer: stores the color of each pixel.
      • Z-buffer: stores the depth (z-value) of each pixel. Initialize all values to far plane depth.
    2. Scan Each Polygon

      • For every pixel covered by the polygon: a. Compute interpolated z-value for that pixel. b. Compare with Z-buffer value.
    3. Update Buffers

      • If the polygon pixel is closer than the current Z-buffer value:

        • Update the framebuffer with polygon color.
        • Update the Z-buffer with new z-value.
    4. Result

      • After processing all polygons, the framebuffer contains only the visible surfaces.

    4. Advantages

    • Simple and general: Works for any 3D scene with overlapping objects.
    • Handles arbitrary polygons.
    • Compatible with hardware acceleration, making it fast for real-time graphics.

    5. Disadvantages

    • Memory-intensive: Requires a Z-buffer the same size as the framebuffer.
    • No automatic transparency handling: Transparent surfaces need special handling.
    • Precision issues: Limited depth precision may cause Z-fighting when surfaces are very close.

    6. Summary Table

    Aspect Description
    Purpose Remove hidden surfaces in 3D rendering
    Technique Z-buffer (depth buffer)
    How it works Stores depth per pixel; updates color only if new depth is closer
    Pros Simple, general, hardware-friendly
    Cons Memory usage, limited depth precision, transparency handling

    Key Points:

    • Z-buffering is a per-pixel technique for hidden surface removal.
    • It compares depth values of surfaces to determine visibility.
    • Essential for realistic 3D rendering in games, CAD, and simulations.
    Previous topic 68
    BitBlt operations
    Next topic 70
    Discrete Techniques: Buffers

    Past Papers

    Open this section to load past papers

    Click on Show Past Papers to see past papers.
    On This Page
      Reading Stats
      Est. reading time2 min
      Word count368
      Code examples0
      DifficultyBeginner