java.lang.Object
de.grogra.ray.antialiasing.AdaptiveSupersampling
- All Implemented Interfaces:
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
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
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.
-
Constructor Details
-
AdaptiveSupersampling
public AdaptiveSupersampling()
-
-
Method Details
-
initialize
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 interfaceAntialiasing
- 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.
-
getColorFromFrustum
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 interfaceAntialiasing
- 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!
-