de.grogra.ray.antialiasing
Class StochasticSupersampling
java.lang.Object
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
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 |
StochasticSupersampling
public StochasticSupersampling()
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.