org.sunflow.core.camera
Class SphericalLens
java.lang.Object
org.sunflow.core.camera.SphericalLens
- All Implemented Interfaces:
- CameraLens, RenderObject
public class SphericalLens
- extends java.lang.Object
- implements CameraLens
Method Summary |
Ray |
getRay(float x,
float y,
int imageWidth,
int imageHeight,
double lensX,
double lensY,
double time)
Create a new ray to be cast through pixel (x,y) on the image
plane. |
boolean |
update(ParameterList pl,
SunflowAPI api)
Update this object given a list of parameters. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
SphericalLens
public SphericalLens()
update
public boolean update(ParameterList pl,
SunflowAPI api)
- Description copied from interface:
RenderObject
- Update this object given a list of parameters. This method is guarenteed
to be called at least once on every object, but it should correctly
handle empty parameter lists. This means that the object should be in a
valid state from the time it is constructed. This method should also
return true or false depending on whether the update was succesfull or
not.
- Specified by:
update
in interface RenderObject
- Parameters:
pl
- list of parameters to read fromapi
- reference to the current scene
- Returns:
true
if the update is succesfull,
false
otherwise
getRay
public Ray getRay(float x,
float y,
int imageWidth,
int imageHeight,
double lensX,
double lensY,
double time)
- Description copied from interface:
CameraLens
- Create a new
ray
to 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 the Camera
class 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.
- Specified by:
getRay
in interface CameraLens
- 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