Package org.sunflow.core
Interface CameraLens
-
- All Superinterfaces:
RenderObject
- All Known Implementing Classes:
FisheyeLens,PinholeLens,SphericalLens,ThinLens
public interface CameraLens extends RenderObject
Represents a mapping from the 3D scene onto the final image. A camera lens is responsible for determining what ray to cast through each pixel.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description RaygetRay(float x, float y, int imageWidth, int imageHeight, double lensX, double lensY, double time)Create a newrayto be cast through pixel (x,y) on the image plane.-
Methods inherited from interface org.sunflow.core.RenderObject
update
-
-
-
-
Method Detail
-
getRay
Ray getRay(float x, float y, int imageWidth, int imageHeight, double lensX, double lensY, double time)
Create a newrayto be cast through pixel (x,y) on the image plane. Two sampling parameters are provided for lens sampling. They are guarenteed to be in the interval [0,1). They can be used to perturb the position of the source of the ray on the lens of the camera for DOF effects. A third sampling parameter is provided for motion blur effects. Note that theCameraclass already handles camera movement motion blur. Rays should be generated in camera space - that is, with the eye at the origin, looking down the -Z axis, with +Y pointing up.- Parameters:
x- x coordinate of the (sub)pixely- y coordinate of the (sub)pixelimageWidth- image width in pixelsimageHeight- image height in pixelslensX- x lens sampling parameterlensY- y lens sampling parametertime- time sampling parameter- Returns:
- a new ray passing through the given pixel
-
-