librtl

rtl_ray Class Reference

Definition of a light ray. More...

#include <ray.h>

Inherits jRay.

Inherited by rtl_shadowfeeler.

List of all members.

Public Members

Static Public Members

Protected Members

Static Protected Members

Related Functions

(Note that these are not member functions.)

Detailed Description

Definition of a light ray.

This class is used for point sampling light transfers in a scene. Also contianed are static functions for providing good stochastic samplings over a distributions to approximate the integral of light transfer over an area.


Member Function Documentation

rtl_ray::rtl_ray( const jVec3& o, const jNorm3& d, rtl_material* _in = &rtl_material::Default, jInt _dep = 0 )

Construct a ray with the given origin and direction. Also the medium that the ray is travelling in is set. Also the depth in the recursive tree can be set.

rtl_ray::rtl_ray( const rtl_ray* ray, jFlt t )

Copy a ray moving its origin t units along the line of the ray.

jFlt rtl_ray::trace()

Trace this ray, this will cause the ray to intersect the objects in a scene. If an intersection occured then the function returns a value greater than EPS, otherwise NOHIT is returned.

Reimplemented in rtl_shadowfeeler.

rtl_object* rtl_ray::objectstruck() const

Returns the object that the ray hit.

rtl_object* rtl_ray::objectstruck() const

Returns the object that the ray hit.

rtl_ray rtl_ray::at( jFlt t ) const

Moves the ray t units down the direction of the ray.

rtl_ray rtl_ray::at( jFlt t ) const

Construct a new ray originating t units int the direction of this ray.

void rtl_ray::inside( rtl_material* o )

Sets the material that the ray is travelling in.

rtl_material* rtl_ray::inside()

Returns the material that the ray is travelling in.

rtl_material* rtl_ray::inside()

Returns the material that the ray is travelling in.

jUInt rtl_ray::depth() const

Returns this rays depth in the recursion tree.

jUInt rtl_ray::signature() const

Returns the ray signature for the ray.

rtl_flags& rtl_ray::flags()

Returns the flags for this object.

rtl_flags& rtl_ray::flags()

Returns the flags for this object.

void rtl_ray::GetDiskSample( jFlt& x, jFlt& y ) [static]

Returns an optimal poisson disk sample for this as the ith ray for the current pixel. In 0..1

void rtl_ray::GetDiskSample( jInt i, jFlt& x, jFlt& y ) [static]

Returns the ith entry from the adaptive poisson disk samples table. In 0..1

jFlt rtl_ray::DiskSampleLength() [static]

Returns the distance the current poisson disk sample is from the origin. In 0..1

jFlt rtl_ray::DiskSampleLength( jUInt i ) [static]

Returns the distance the ith sample in the poisson disk table is from the origin. In 0..1

rtl_ray::rtl_ray( const jMat4&, const jNorm3& ) [protected]

ostream& operator<<( ostream&, const rtl_ray& )

Output the ray to a stream.


Member Data Documentation

jUInt rtl_ray::MaxDepth [static]

The maximum recursion depth of the ray tree.

const jULng rtl_ray::ShadowTest [static]

rtl_object* rtl_ray::hit [protected]

rtl_material* rtl_ray::in [protected]

jUInt rtl_ray::dep [protected]

jUInt rtl_ray::sig [protected]

rtl_flags rtl_ray::f [protected]

jFlt rtl_ray::srct [protected]

jFlt rtl_ray::PoissonDisk[128][3] [static, protected]

jFlt rtl_ray::srst [static, protected]

jUInt rtl_ray::Sample [static, protected]

jUInt rtl_ray::Signature [static, protected]


The documentation for this class was generated from the following file:
JSP / librtl v0.2 mtigges@cpsc.ucalgary.ca