lux::Scene Class Reference

#include <scene.h>

Collaboration diagram for lux::Scene:
[legend]

List of all members.

Public Member Functions

void Render ()
 Scene (Camera *c, SurfaceIntegrator *in, VolumeIntegrator *vi, Sampler *s, boost::shared_ptr< Primitive > accel, const vector< Light * > &lts, const vector< string > &lg, VolumeRegion *vr)
 Scene (Camera *c)
 ~Scene ()
bool Intersect (const Ray &ray, Intersection *isect) const
bool IntersectP (const Ray &ray) const
const BBoxWorldBound () const
SWCSpectrum Li (const RayDifferential &ray, const Sample *sample, float *alpha=NULL) const
void Transmittance (const TsPack *tspack, const Ray &ray, const Sample *sample, SWCSpectrum *const L) const
void Start ()
void Pause ()
void Exit ()
int AddThread ()
void RemoveThread ()
int getThreadsStatus (RenderingThreadInfo *info, int maxInfoCount)
void SaveFLM (const string &filename)
bool IsFilmOnly () const
double GetNumberOfSamples ()
double Statistics_SamplesPSec ()
double Statistics_SamplesPTotSec ()
double Statistics_Efficiency ()
double Statistics_SamplesPPx ()
void UpdateFramebuffer ()
unsigned char * GetFramebuffer ()
void getHistogramImage (unsigned char *outPixels, int width, int height, int options)
void SetParameterValue (luxComponent comp, luxComponentParameters param, double value, int index)
double GetParameterValue (luxComponent comp, luxComponentParameters param, int index)
double GetDefaultParameterValue (luxComponent comp, luxComponentParameters param, int index)
void SetStringParameterValue (luxComponent comp, luxComponentParameters param, const string &value, int index)
string GetStringParameterValue (luxComponent comp, luxComponentParameters param, int index)
string GetDefaultStringParameterValue (luxComponent comp, luxComponentParameters param, int index)
int DisplayInterval ()
int FilmXres ()
int FilmYres ()
double Statistics (const string &statName)
int CreateRenderThread ()
void RemoveRenderThread ()
void SignalThreads (ThreadSignals signal)

Public Attributes

Timer s_Timer
double lastSamples
double lastTime
boost::shared_ptr< Primitiveaggregate
vector< Light * > lights
vector< string > lightGroups
Cameracamera
VolumeRegionvolumeRegion
SurfaceIntegratorsurfaceIntegrator
VolumeIntegratorvolumeIntegrator
Samplersampler
BBox bound
int seedBase
ContributionPoolcontribPool
double numberOfSamplesFromNetwork
double stat_Samples
double stat_blackSamples
bool preprocessDone
bool suspendThreadsWhenDone

Private Attributes

boost::mutex renderThreadsMutex
std::vector< RenderThread * > renderThreads
ThreadSignals CurThreadSignal
TsPacktspack
bool filmOnly

Detailed Description

Definition at line 73 of file scene.h.


Constructor & Destructor Documentation

Scene::Scene ( Camera c,
SurfaceIntegrator in,
VolumeIntegrator vi,
Sampler s,
boost::shared_ptr< Primitive accel,
const vector< Light * > &  lts,
const vector< string > &  lg,
VolumeRegion vr 
)
Scene::Scene ( Camera c  ) 
Scene::~Scene (  ) 

Definition at line 512 of file scene.cpp.

References camera, contribPool, lights, sampler, surfaceIntegrator, volumeIntegrator, and volumeRegion.


Member Function Documentation

int Scene::AddThread (  ) 

Definition at line 66 of file scene.cpp.

References CreateRenderThread().

Referenced by lux::Context::addThread().

int Scene::CreateRenderThread (  ) 
int Scene::DisplayInterval (  ) 

Definition at line 140 of file scene.cpp.

References camera, lux::Camera::film, and lux::Film::getldrDisplayInterval().

Referenced by Statistics().

void Scene::Exit (  ) 

Definition at line 61 of file scene.cpp.

References EXIT, and SignalThreads().

Referenced by lux::Context::exit().

int Scene::FilmXres (  ) 

Definition at line 144 of file scene.cpp.

References camera, lux::Camera::film, and lux::Film::GetXPixelCount().

Referenced by Statistics().

int Scene::FilmYres (  ) 

Definition at line 148 of file scene.cpp.

References camera, lux::Camera::film, and lux::Film::GetYPixelCount().

Referenced by Statistics().

double Scene::GetDefaultParameterValue ( luxComponent  comp,
luxComponentParameters  param,
int  index 
)
string Scene::GetDefaultStringParameterValue ( luxComponent  comp,
luxComponentParameters  param,
int  index 
)

Definition at line 136 of file scene.cpp.

Referenced by lux::Context::GetDefaultStringParameterValue().

unsigned char * Scene::GetFramebuffer (  ) 

Definition at line 101 of file scene.cpp.

References camera, lux::Camera::film, and lux::Film::getFrameBuffer().

Referenced by lux::Context::framebuffer().

void Scene::getHistogramImage ( unsigned char *  outPixels,
int  width,
int  height,
int  options 
)

Definition at line 106 of file scene.cpp.

References camera, lux::Camera::film, and lux::Film::getHistogramImage().

Referenced by lux::Context::getHistogramImage().

double Scene::GetNumberOfSamples (  ) 
double Scene::GetParameterValue ( luxComponent  comp,
luxComponentParameters  param,
int  index 
)
string Scene::GetStringParameterValue ( luxComponent  comp,
luxComponentParameters  param,
int  index 
)
int Scene::getThreadsStatus ( RenderingThreadInfo info,
int  maxInfoCount 
)
bool lux::Scene::Intersect ( const Ray ray,
Intersection isect 
) const [inline]
bool lux::Scene::IntersectP ( const Ray ray  )  const [inline]
bool lux::Scene::IsFilmOnly (  )  const [inline]

Definition at line 105 of file scene.h.

References filmOnly.

Referenced by CreateRenderThread(), Render(), lux::RenderThread::render(), and lux::Context::statistics().

SWCSpectrum Scene::Li ( const RayDifferential ray,
const Sample sample,
float *  alpha = NULL 
) const
void Scene::Pause (  ) 

Definition at line 57 of file scene.cpp.

References PAUSE, and SignalThreads().

Referenced by lux::Context::pause().

void Scene::RemoveRenderThread (  ) 

Definition at line 412 of file scene.cpp.

References EXIT, renderThreads, and renderThreadsMutex.

Referenced by RemoveThread().

void Scene::RemoveThread (  ) 

Definition at line 70 of file scene.cpp.

References RemoveRenderThread().

Referenced by lux::Context::removeThread().

void Scene::Render (  ) 
void Scene::SaveFLM ( const string &  filename  ) 

Definition at line 87 of file scene.cpp.

References camera, lux::Camera::film, and lux::Film::WriteFilm().

Referenced by lux::Context::saveFLM().

void Scene::SetParameterValue ( luxComponent  comp,
luxComponentParameters  param,
double  value,
int  index 
)
void Scene::SetStringParameterValue ( luxComponent  comp,
luxComponentParameters  param,
const string &  value,
int  index 
)

Definition at line 128 of file scene.cpp.

Referenced by lux::Context::SetStringParameterValue().

void Scene::SignalThreads ( ThreadSignals  signal  ) 

Definition at line 250 of file scene.cpp.

References CurThreadSignal, renderThreads, and renderThreadsMutex.

Referenced by Exit(), Pause(), and Start().

void Scene::Start (  ) 

Definition at line 53 of file scene.cpp.

References RUN, and SignalThreads().

Referenced by lux::Context::start().

double Scene::Statistics ( const string &  statName  ) 
double Scene::Statistics_Efficiency (  ) 

Definition at line 242 of file scene.cpp.

References stat_blackSamples, and stat_Samples.

Referenced by Statistics().

double Scene::Statistics_SamplesPPx (  ) 

Definition at line 201 of file scene.cpp.

References camera, lux::Camera::film, GetNumberOfSamples(), and lux::Film::GetSampleExtent().

Referenced by Statistics().

double Scene::Statistics_SamplesPSec (  ) 
double Scene::Statistics_SamplesPTotSec (  ) 

Definition at line 229 of file scene.cpp.

References GetNumberOfSamples(), preprocessDone, s_Timer, Timer::Time(), and cimg_library::cimg::time().

Referenced by Statistics().

void Scene::Transmittance ( const TsPack tspack,
const Ray ray,
const Sample sample,
SWCSpectrum *const   L 
) const
void Scene::UpdateFramebuffer (  ) 
const BBox & Scene::WorldBound (  )  const

Member Data Documentation

boost::shared_ptr<Primitive> lux::Scene::aggregate

Definition at line 140 of file scene.h.

Referenced by Intersect(), IntersectP(), and Scene().

Definition at line 148 of file scene.h.

Referenced by Scene(), and WorldBound().

Definition at line 169 of file scene.h.

Referenced by CreateRenderThread(), Render(), Scene(), and SignalThreads().

bool lux::Scene::filmOnly [private]

Definition at line 171 of file scene.h.

Referenced by IsFilmOnly(), and Scene().

Definition at line 131 of file scene.h.

Referenced by Scene(), and Statistics_SamplesPSec().

Definition at line 131 of file scene.h.

Referenced by GetNumberOfSamples(), Scene(), and Statistics_SamplesPSec().

vector<string> lux::Scene::lightGroups

Definition at line 154 of file scene.h.

Referenced by GetNumberOfSamples(), Scene(), and lux::FlexImageFilm::UpdateFilm().

std::vector<RenderThread*> lux::Scene::renderThreads [private]
boost::mutex lux::Scene::renderThreadsMutex [private]

Definition at line 155 of file scene.h.

Referenced by GetNumberOfSamples(), Scene(), and Statistics_Efficiency().

Definition at line 155 of file scene.h.

Referenced by GetNumberOfSamples(), Scene(), and Statistics_Efficiency().

Definition at line 145 of file scene.h.

Referenced by CreateRenderThread(), Render(), Scene(), and ~Scene().

Definition at line 161 of file scene.h.

Referenced by lux::RenderThread::render(), Scene(), and lux::Context::setHaltSamplePerPixel().

Definition at line 170 of file scene.h.

Referenced by Render(), and Scene().


The documentation for this class was generated from the following files:
Generated by  doxygen 1.6.2-20100208