de.grogra.ray.antialiasing
Class AdaptiveSupersampling
java.lang.Object
de.grogra.ray.antialiasing.AdaptiveSupersampling
- All Implemented Interfaces:
- Antialiasing
public class AdaptiveSupersampling
- extends java.lang.Object
- implements Antialiasing
The adaptive supersampling algorithm is a nonuniform supersampling
algorithm. Only if a supersampling for a pixel is reasonable the
pixel is divided into subpixel.
The following algorithm is used to perform the division:
The color values of the four corners and the center of a pixel are
determined. If the difference of two color values exceeds a given limit
the pixel is recursively divided into subpixels until a depth limit
of the recursion is achieved.
- 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 |
AdaptiveSupersampling
public AdaptiveSupersampling()
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.