de.ba_ravensburg.gdv.controller
Class RenderPipeline

java.lang.Object
  extended by de.ba_ravensburg.gdv.controller.RenderPipeline

public class RenderPipeline
extends Object

The RenderPipeline is a pipeline inside of which the triangles of a scene are transformed into a form suitable for displaying them on the screen.

Author:
Ansgar Wiechers

Constructor Summary
RenderPipeline()
          Constructs a new empty rendering pipeline.
 
Method Summary
(package private)  LinkedList get()
          Get a sorted list of 2D triangles from the rendering pipeline.
(package private)  void put(HashSet triangles, double theAperture)
          Put the given triangles into the rendering pipeline.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RenderPipeline

RenderPipeline()
Constructs a new empty rendering pipeline.

Method Detail

get

LinkedList get()
Get a sorted list of 2D triangles from the rendering pipeline. The triangles in this list are sorted descending by their distance from the camera.

Returns:
list of 2D triangles to be painted on the screen.

put

void put(HashSet triangles,
         double theAperture)
   throws IllegalArgumentException
Put the given triangles into the rendering pipeline. Each triangle that is completely outside of the camera's view port or has its frontside turned away from the camera is not put into the pipeline.

Pre: triangles != null
0° < theAperture <= 180°
Post: Each triangle that is not definitely outside the view port (i.e. behind the camera or right/left/above/below the view port) and is facing towards the camera is put into the queue for rendering.

Parameters:
triangles - a set of triangles to be put into the rendering pipeline.
Throws:
IllegalArgumentException


Copyright © 2004 Max Schloss and Ansgar Wiechers. All Rights Reserved.