public class PinholeLens extends java.lang.Object implements CameraLens
Constructor and Description |
---|
PinholeLens() |
Modifier and Type | Method and Description |
---|---|
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.
|
public boolean update(ParameterList pl, SunflowAPI api)
RenderObject
update
in interface RenderObject
pl
- list of parameters to read fromapi
- reference to the current scenetrue
if the update is succesfull,
false
otherwisepublic Ray getRay(float x, float y, int imageWidth, int imageHeight, double lensX, double lensY, double time)
CameraLens
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.getRay
in interface CameraLens
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