Renderer Class Reference

#include <Renderer.h>

Collaboration diagram for Renderer:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Renderer (const std::string &filename)
 ~Renderer ()
void buildScene ()
void buildScene (const std::string &sceneFile)
void render ()
void renderAnimated ()
void setupAnimation (std::string filename, unsigned int startframe=0, unsigned int endframe=FRAMES)
int setupSupersampling (int samples)
void physicsLoad (const std::string &file)
void physicsSave (const std::string &file)

Private Member Functions

void buildTestScene ()

Static Private Member Functions

static void * renderFromTo (void *)

Private Attributes

CameramCamera
 the camera which will be rendered
bool mSupersampled
 bool for supersampled
int mSampleCount
 number of samples when supersampled
SampleGeneratormSampler
 the sampling class we use for supersampling
Scene mScene
 the scene which we render
std::string mFileName
 the file which we render to
CameraAnimatormCameraAnimator
 the camera animator
unsigned int mStartFrame
 the start frame for the animation
unsigned int mEndFrame
 the end frame for the animation

Classes

struct  ThreadArgs

Detailed Description

The class rendering the scene

Author:
Alex Busenius

Christian Engels

Definition at line 21 of file Renderer.h.


Constructor & Destructor Documentation

Renderer::Renderer ( const std::string &  filename  ) 

Constructor.

Parameters:
filename File name to write rendered image

Definition at line 34 of file Renderer.cpp.

Renderer::~Renderer (  ) 

Definition at line 47 of file Renderer.cpp.

References mCamera, mCameraAnimator, and mSampler.


Member Function Documentation

void Renderer::buildScene (  ) 

Definition at line 55 of file Renderer.cpp.

References buildTestScene().

Referenced by buildTestScene(), and main().

void Renderer::buildScene ( const std::string &  sceneFile  ) 

Build a scene from scene file

Definition at line 356 of file Renderer.cpp.

References SceneBuilder::load(), mCamera, and mScene.

void Renderer::render (  ) 

Definition at line 60 of file Renderer.cpp.

References LOG, Renderer::ThreadArgs::mCamera, mCamera, mFileName, Renderer::ThreadArgs::mImage, mMutexImage, mSampleCount, Renderer::ThreadArgs::mSampleCount, mSampler, Renderer::ThreadArgs::mSampler, mScene, Renderer::ThreadArgs::mScene, Renderer::ThreadArgs::mStartY, Renderer::ThreadArgs::mStopY, mSupersampled, Renderer::ThreadArgs::mSupersampled, NUMBER_OF_THREADS, renderFromTo(), Camera::resX(), and Camera::resY().

Referenced by main(), and renderAnimated().

void Renderer::renderAnimated (  ) 

renders a scene animated using mCameraAnimator

Definition at line 237 of file Renderer.cpp.

References CameraAnimator::animate(), LOG, mCamera, mCameraAnimator, mEndFrame, mFileName, mScene, mStartFrame, render(), and Scene::step().

Referenced by main().

void Renderer::setupAnimation ( std::string  filename,
unsigned int  startframe = 0,
unsigned int  endframe = FRAMES 
)

setups the mCameraAnimator and start and endframe

Definition at line 368 of file Renderer.cpp.

References mCameraAnimator, mEndFrame, and mStartFrame.

Referenced by main().

int Renderer::setupSupersampling ( int  samples  ) 

Set up supersampling, StratifiedSampleGenerator is used for generating samples. Use samples <= 1 to disable it completely.

Parameters:
samples Number of samples, is rounded down to a quadrat number (1, 4, 9, 16, ...)
Returns:
number of used samples

Definition at line 382 of file Renderer.cpp.

References mSampleCount, mSampler, and mSupersampled.

Referenced by buildTestScene(), and parse().

void Renderer::physicsLoad ( const std::string &  file  )  [inline]

Load physics from file

Parameters:
file File name to load

Definition at line 60 of file Renderer.h.

References mScene, and Scene::physicsLoad().

Referenced by parse().

void Renderer::physicsSave ( const std::string &  file  )  [inline]

Dump physics to file

Parameters:
file File name to save to

Definition at line 69 of file Renderer.h.

References mScene, and Scene::physicsDump().

Referenced by parse().

void * Renderer::renderFromTo ( void *   )  [static, private]

renders the image from ThreadArgs::mStartY to ThreadArgs::mStopY we need this for threads to work needs to be static for pthreads to work

Definition at line 147 of file Renderer.cpp.

References LOG, max(), Renderer::ThreadArgs::mCamera, Renderer::ThreadArgs::mImage, min(), mMutexImage, Renderer::ThreadArgs::mSampleCount, Renderer::ThreadArgs::mSampler, Renderer::ThreadArgs::mScene, Renderer::ThreadArgs::mStartY, Renderer::ThreadArgs::mStopY, Renderer::ThreadArgs::mSupersampled, Scene::rayTrace(), SampleGenerator::samples(), and Image::setPixel().

Referenced by render().

void Renderer::buildTestScene (  )  [private]

decides which scene to build

Definition at line 270 of file Renderer.cpp.

References buildScene(), and setupSupersampling().

Referenced by buildScene().


Member Data Documentation

Camera* Renderer::mCamera [private]

the camera which will be rendered

Definition at line 75 of file Renderer.h.

Referenced by buildScene(), render(), renderAnimated(), and ~Renderer().

bool Renderer::mSupersampled [private]

bool for supersampled

Definition at line 76 of file Renderer.h.

Referenced by render(), and setupSupersampling().

int Renderer::mSampleCount [private]

number of samples when supersampled

Definition at line 77 of file Renderer.h.

Referenced by render(), and setupSupersampling().

SampleGenerator* Renderer::mSampler [private]

the sampling class we use for supersampling

Definition at line 78 of file Renderer.h.

Referenced by render(), setupSupersampling(), and ~Renderer().

Scene Renderer::mScene [private]

the scene which we render

Definition at line 79 of file Renderer.h.

Referenced by buildScene(), physicsLoad(), physicsSave(), render(), and renderAnimated().

std::string Renderer::mFileName [private]

the file which we render to

Definition at line 80 of file Renderer.h.

Referenced by render(), and renderAnimated().

CameraAnimator* Renderer::mCameraAnimator [private]

the camera animator

Definition at line 81 of file Renderer.h.

Referenced by renderAnimated(), setupAnimation(), and ~Renderer().

unsigned int Renderer::mStartFrame [private]

the start frame for the animation

Definition at line 82 of file Renderer.h.

Referenced by renderAnimated(), and setupAnimation().

unsigned int Renderer::mEndFrame [private]

the end frame for the animation

Definition at line 83 of file Renderer.h.

Referenced by renderAnimated(), and setupAnimation().


The documentation for this class was generated from the following files:
Generated on Fri Feb 1 00:02:26 2008 for Grayfall by  doxygen 1.5.1