LitScene Class Reference

#include <litscene.h>

Inheritance diagram for LitScene:

Scene List of all members.

Public Member Functions

 LitScene (unsigned int maxBounces)
 LitScene ()
void setLighting (int n)
void setAmbient (Colour colour)
LightlightAt (int i)
int & numberOfLights ()
Colour tracePath (const Ray &ray, GObject *object=NULL, Colour weightIn=Colour(1.0f, 1.0f, 1.0f), int depth=0)
bool hitLight (GObject *me, Ray ray)
Colour renderPixel (int i, int j, SimpleCamera &TheCamera, int N_RAYS_PER_PIXEL)
int & numberOfAreaLights ()
GObjectareaLightAt (int i)
int & maxBounces (void)
float & cutOffThreshold (void)
Colour falseColour (const Ray &ray)
Colour colourOnObject (GObject *, Point, Point)
bool intersect (GObject *, Ray, Colour &, int)
GObjectintersect (Ray ray, Point &p, Vector &n)
GObjectisShadowed (GObject *me, Ray ray, bool directional)
bool load (const char *filename)

Private Member Functions

void buildAreaLightList (void)

Private Attributes

int NLights
LightLighting
Colour Ambient
int m_areaLightCount
GObject ** m_areaLights
int m_maxBounces
float m_cutOffThreshold

Friends

ostream & operator<< (ostream &, LitScene)
istream & operator>> (istream &, LitScene &)

Constructor & Destructor Documentation

LitScene::LitScene ( unsigned int  maxBounces  )  [inline]

LitScene::LitScene (  )  [inline]


Member Function Documentation

void LitScene::buildAreaLightList ( void   )  [private]

void LitScene::setLighting ( int  n  )  [inline]

void LitScene::setAmbient ( Colour  colour  )  [inline]

Light& LitScene::lightAt ( int  i  )  [inline]

int& LitScene::numberOfLights (  )  [inline]

Colour LitScene::tracePath ( const Ray ray,
GObject object = NULL,
Colour  weightIn = Colour(1.0f, 1.0f, 1.0f),
int  depth = 0 
)

bool LitScene::hitLight ( GObject me,
Ray  ray 
)

Colour LitScene::renderPixel ( int  i,
int  j,
SimpleCamera TheCamera,
int  N_RAYS_PER_PIXEL 
)

int& LitScene::numberOfAreaLights (  )  [inline]

GObject* LitScene::areaLightAt ( int  i  )  [inline]

int& LitScene::maxBounces ( void   )  [inline]

float& LitScene::cutOffThreshold ( void   )  [inline]

Colour LitScene::falseColour ( const Ray ray  ) 

Colour LitScene::colourOnObject ( GObject ,
Point  ,
Point   
)

bool LitScene::intersect ( GObject me,
Ray  ray,
Colour colour,
int  depth 
)

returns true if the ray intersects the scene, and if so then the colour at the intersection point. This overrides the method in Scene

Your code here (2) - do a recursive ray trace. Use specular colour to modulate the colour returned by the recursive intersect call

GObject * LitScene::intersect ( Ray  ray,
Point p,
Vector n 
)

GObject * LitScene::isShadowed ( GObject me,
Ray  ray,
bool  directional 
)

bool LitScene::load ( const char *  filename  ) 


Friends And Related Function Documentation

ostream& operator<< ( ostream &  s,
LitScene  scene 
) [friend]

istream& operator>> ( istream &  s,
LitScene scene 
) [friend]


Member Data Documentation

int LitScene::NLights [private]

Light* LitScene::Lighting [private]

Colour LitScene::Ambient [private]

int LitScene::m_areaLightCount [private]

GObject** LitScene::m_areaLights [private]

int LitScene::m_maxBounces [private]

float LitScene::m_cutOffThreshold [private]


The documentation for this class was generated from the following files:
Generated on Fri Jan 12 10:15:52 2007 for Path tracing coursework by  doxygen 1.5.1-p1