#include <litscene.h>
Inheritance diagram for LitScene:

Public Member Functions | |
| LitScene (unsigned int maxBounces) | |
| LitScene () | |
| void | setLighting (int n) |
| void | setAmbient (Colour colour) |
| Light & | lightAt (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 () |
| GObject * | areaLightAt (int i) |
| int & | maxBounces (void) |
| float & | cutOffThreshold (void) |
| Colour | falseColour (const Ray &ray) |
| Colour | colourOnObject (GObject *, Point, Point) |
| bool | intersect (GObject *, Ray, Colour &, int) |
| GObject * | intersect (Ray ray, Point &p, Vector &n) |
| GObject * | isShadowed (GObject *me, Ray ray, bool directional) |
| bool | load (const char *filename) |
Private Member Functions | |
| void | buildAreaLightList (void) |
Private Attributes | |
| int | NLights |
| Light * | Lighting |
| Colour | Ambient |
| int | m_areaLightCount |
| GObject ** | m_areaLights |
| int | m_maxBounces |
| float | m_cutOffThreshold |
Friends | |
| ostream & | operator<< (ostream &, LitScene) |
| istream & | operator>> (istream &, LitScene &) |
| LitScene::LitScene | ( | unsigned int | maxBounces | ) | [inline] |
| LitScene::LitScene | ( | ) | [inline] |
| 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 | |||
| ) |
| 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] |
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
| bool LitScene::load | ( | const char * | filename | ) |
| ostream& operator<< | ( | ostream & | s, | |
| LitScene | scene | |||
| ) | [friend] |
| istream& operator>> | ( | istream & | s, | |
| LitScene & | scene | |||
| ) | [friend] |
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] |
1.5.1-p1