Courseware for Hidden Line/Surface Removal

Courseware for Hidden Line/Surface RemovalWhen object are defined as surfaces filled by color or shading patterns, hidden-line/ surface removal techniques are used to take out any back surfaces that are hidden by visible surfaces. Removing hidden surfaces is generally a complicated and time-consuming process, but it provides a highly realistic method for displaying objects. Added realism is attained by combining hidden-surface removal with perspective projections.

This courseware will provide you an interactive way to experiment with the three typical (and the most well known) hidden line/surface removal algorithm. They are Painter’s, Z-Buffer, and Depth Coherence (Warnock’s Area Subdivision) algorithm. While experimenting, you will see the results for different algorithms. You will also learn the pros and cons among each different algorithm. The project documentation will provide you the details of the courseware implementation.

How to run the program:

  1. Download the Java archive of the application here.
  2. You need to have Java Runtime version 1.3 or above installed on your PC.
  3. Double click on the Java archive hidden_surface_removal.jar that you have downloaded.
  4. If it fails to run, you need to execute it in Command Prompt / Console. Go to the directory where your download is saved. Type java -jar hidden_surface_removal.jar


  1. Camera View (left pane) shows all the planes in a 3-D perspective view, rendered using the selected hidden surface algorithm.
  2. Top View (right pane) provides a 2-D view of the planes position and orientation. User can drag to move and resize the planes or change its orientation.
  3. Add/Remove Planes (right bottom pane) provides buttons to add a plane of the selected color, or remove the selected plane.
  4. Real Time Rendering On/Off (left bottom pane) allows you to choose whether to render the Camera View in real time, i.e. whenever you are moving a plane, it will be rendered automatically, thus give you real time realism.
  5. Rendering Algorithms (right top pane) contains a list of hidden surface removal algorithms to choose for rendering.
  6. Algorithm Details (right top pane, below Rendering Algorithms drop-down list) show you additional information related to the currently selected Rendering Algorithm. This allows you a better idea how each algorithm behaves under different circumstances. For example, the Painter’s algorithm will show the list of planes sorted by the algorithm.
  7. Benchmark button let you benchmark the three rendering algorithms. It will show you a chart to compare the time taken for rendering a specified amount of frame using different hidden surface removal.

This program let you experiment with the following:

  • Painter’s algorithm.
  • Z-Buffer algorithm.
  • Depth Coherence (Warnock’s Area Subdivision) algorithm.
  • The performance of these algorithms under different circumstances.
Write a comment