Overview | Package | Class | Tree | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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

Constructor Summary
`AdaptiveSupersampling()`

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

### AdaptiveSupersampling

    public AdaptiveSupersampling()

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.

Overview | Package | Class | Tree | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD