de.grogra.ray.antialiasing
Class StochasticSupersampling

java.lang.Object
  extended by de.grogra.ray.antialiasing.StochasticSupersampling
All Implemented Interfaces:
Antialiasing

public class StochasticSupersampling
extends java.lang.Object
implements Antialiasing

This class implements a stochastical antialiasing algorithm. For every pixel frustum there will be N2 generated random rays that are inside the frustum. For all random rays the color value is determined and will be combined as average. To have a better distribution the original pixel is first divided into N x N subpixels. For every subpixel one random ray is generated.

Author:
Micha

Constructor Summary
StochasticSupersampling()
           
 
Method Summary
 void getColorFromFrustum(double x, double y, double width, double height, Color4f color)
          This method has to return a color value determined for a given pixel frustum.
 void initialize(RTCamera camera, RayProcessor processor)
          Initializes the antialiasing method and sets the camera and ray processor object that has to be used.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StochasticSupersampling

public StochasticSupersampling()
Method Detail

getColorFromFrustum

public void getColorFromFrustum(double x,
                                double y,
                                double width,
                                double height,
                                Color4f color)
Description copied from interface: Antialiasing
This method has to return a color value determined for a given pixel frustum. A pixel frustum is a sub frustum of the view frustum that encloses exactly a special pixel of the image. The pixel frustum is indirectly described by describing the related pixel.

Specified by:
getColorFromFrustum in interface Antialiasing
Parameters:
x - Describes the relative x position of the top left corner of the pixel. It can range from -1 to +1.
y - Describes the relative y position of the top left corner of the pixel. It can range from -1 to +1.
width - Describes the relative width of the of the pixel. It can range from 0 to +2.
height - Describes the relative height of the of the pixel. It can range from 0 to +2.
color - The determined color for the pixel frustum will be saved in this parameter. So this parameter will be changed!

initialize

public void initialize(RTCamera camera,
                       RayProcessor processor)
Description copied from interface: Antialiasing
Initializes the antialiasing method and sets the camera and ray processor object that has to be used.

Specified by:
initialize in interface Antialiasing
Parameters:
camera - sets the camera object that has to be used for the antialiasing class.
processor - sets the ray processor object that has to be used for the antialiasing class.