RiThinLensCamera

A simple thin-lens camera which generates rays.

[ Camera | Source | Search | Keywords | Summary | Ancestors | All Members | Descendants ]

Quick Index

DESCRIPTION

Class Summary

class RiThinLensCamera : public RiRayCamera
{
public:
RiThinLensCamera( const RiVector3 &lCenter, const RiONB3 &uvw, RiReal distanceToFoc, const RiVector2 &uvmin, const RiVector2 &uvmax, RiReal lensDiam , RiReal front );
RiThinLensCamera(const RiVector3 &lCenter, const RiVector3 &lookAt, RiReal fovDeg , RiReal aspectRatio , RiReal lensDiam , RiReal front );
RiThinLensCamera(const RiVector3 &lCenter, const RiONB3 &uvw, RiReal distanceToFoc, RiReal focalLength , RiReal fnumber , RiReal wfilm , RiReal hfilm , RiReal cxfilm , RiReal cyfilm , RiReal front );
RiRay3 GetRay( const RiVector2& screenCoord, const RiVector2& lensCoord ) const;
void Transform(const RiAffineTMatrix3 &);
protected:
RiONB3 basis;
RiVector3 cop;
RiReal distanceToFocus;
RiReal lensRadius;
RiVector2 uvMin, uvMax, uvSize;
RiReal frontClip;
}; // RiThinLensCamera


DESCRIPTION

Given a lens center, diameter, ONB, and a distance to the plane where all things are in focus, along with a coordinate bound on that plane, gives machinery to generate a ray.


RiThinLensCamera( const RiVector3 &lCenter, const RiONB3 &uvw, RiReal distanceToFoc, const RiVector2 &uvmin, const RiVector2 &uvmax, RiReal lensDiam , RiReal front );

General constructor
lCenter lens
center (eye point)
uvw the
ONB, where V is the up-vector and W points opposite the view-plane normal (towards the eye)
distanceToFoc is
the distance to the plane where objects are in focus
uvmin,uvmax are
the bounds of the image in the plane of focus.
lensDiam is
the diameter of the lens.

    RiThinLensCamera( const RiVector3 &lCenter,  const RiONB3 &uvw,   RiReal distanceToFoc,
		      const RiVector2 &uvmin, const RiVector2 &uvmax, RiReal lensDiam = 0, RiReal front = 0);

RiThinLensCamera(const RiVector3 &lCenter, const RiVector3 &lookAt, RiReal fovDeg , RiReal aspectRatio , RiReal lensDiam , RiReal front );

More natural constructor. Up is +Y direction. This should probably be a parameter.
lCenter eye
point or center of the lens
lookAt Point
being looked at. Defines the distance to focal plane
fovDeg Total
viewing angle in degrees for the width of the film plane.
aspectRation ratio
of width to height
lensDiam The
diameter of the lens
front Distance
to front clipping plane

    RiThinLensCamera(const RiVector3 &lCenter, const RiVector3 &lookAt,
		     RiReal fovDeg = 45, RiReal aspectRatio = 1.0,
		     RiReal lensDiam = 0.0, RiReal front = 0.0);

RiThinLensCamera(const RiVector3 &lCenter, const RiONB3 &uvw, RiReal distanceToFoc, RiReal focalLength , RiReal fnumber , RiReal wfilm , RiReal hfilm , RiReal cxfilm , RiReal cyfilm , RiReal front );

Constructor for real camera emulation.
lCenter
eye point or center of the lens
uvw
the ONB, where V is the up-vector and W points opposite the view-plane normal (towards the eye)
distanceToFoc
is the distance to the plane where objects are in focus
focalLength
focalLength of lens
fnumber
Ratio of focal-length to the diameter of the lens
wfilm,hfilm
width and height of film
cxfilm,cyfilm
offset of optical axis from film center (0.2,0.3) would
front
Distance to front clipping plane be to the right and up in the final viewed picture

    RiThinLensCamera(const RiVector3 &lCenter,  const RiONB3 &uvw,   RiReal distanceToFoc,
		     RiReal focalLength = 0.05, RiReal fnumber = 11,
                     RiReal wfilm = 0.036, RiReal hfilm = 0.24,
                     RiReal cxfilm = 0.0, RiReal cyfilm = 0.0, RiReal front = 0.0);

RiRay3 GetRay( const RiVector2& screenCoord, const RiVector2& lensCoord ) const;

Screen coord is in the range[0,1]^2. (0,0) is lower-left corner. lensCoord is a seed in [0,1]^2 for lens sampling.

    RiRay3 GetRay( const RiVector2& screenCoord, const RiVector2& lensCoord ) const;

void Transform(const RiAffineTMatrix3 &);

General manipulation of the camera. Some cameras may not allow a scale or perhaps even a rotation (Cylindrical panoramic), these need to catch or ignore this component of the matrix.

    virtual void Transform(const RiAffineTMatrix3 &);

RiONB3 basis;

B3 basis;No documentation available.

      RiONB3 basis;

RiVector3 cop;

ctor3 cop; // center-of-projectionNo documentation available.

      RiVector3 cop;  // center-of-projection

RiReal distanceToFocus;

al distanceToFocus;No documentation available.

      RiReal distanceToFocus;

RiReal lensRadius;

al lensRadius;No documentation available.

      RiReal lensRadius;

RiVector2 uvMin, uvMax, uvSize;

ctor2 uvMin, uvMax, uvSize;No documentation available.

      RiVector2 uvMin, uvMax, uvSize;

RiReal frontClip;

al frontClip;No documentation available.

      RiReal frontClip;

All Members

public:
// Members
void Transform(const RiAffineTMatrix3 &); // pure virtual
// Members
RiRay3 GetRay( const RiVector2& screenCoord, const RiVector2& lensCoord ) const; // pure virtual
protected:
RiONB3 basis;
RiVector3 cop;
RiReal distanceToFocus;
RiReal lensRadius;
RiVector2 uvMin, uvMax, uvSize;
RiReal frontClip;

Ancestors

Inheritance chain for RiThinLensCamera:


Descendants

Class is not inherited by any others.


Generated from source by the Cocoon utilities on Fri Feb 25 15:14:59 2000 .