luxrays::NativePixelDevice Class Reference

#include <pixeldevice.h>

Inheritance diagram for luxrays::NativePixelDevice:
luxrays::PixelDevice luxrays::Device

List of all members.

Public Member Functions

 NativePixelDevice (const Context *context, const unsigned int threadIndex, const unsigned int devIndex)
 ~NativePixelDevice ()
void Init (const unsigned int w, const unsigned int h)
void ClearFrameBuffer ()
void ClearSampleFrameBuffer ()
void SetGamma (const float gamma=2.2f)
void Start ()
void Interrupt ()
void Stop ()
SampleBufferGetFreeSampleBuffer ()
void FreeSampleBuffer (SampleBuffer *sampleBuffer)
void AddSampleBuffer (const FilterType type, SampleBuffer *sampleBuffer)
void Merge (const SampleFrameBuffer *sfb)
const SampleFrameBufferGetSampleFrameBuffer () const
void UpdateFrameBuffer (const ToneMapParams &params)
const FrameBufferGetFrameBuffer () const
unsigned int GetFreeDevBufferCount ()
unsigned int GetTotalDevBufferCount ()

Static Public Attributes

static size_t SampleBufferSize = 4096

Private Member Functions

void SplatPreview (const SampleBufferElem *sampleElem)
void SplatFiltered (const SampleBufferElem *sampleElem)
void SplatRadiance (const Spectrum radiance, const unsigned int x, const unsigned int y, const float weight=1.f)
float Radiance2PixelFloat (const float x) const

Private Attributes

boost::mutex splatMutex
SampleFrameBuffersampleFrameBuffer
FrameBufferframeBuffer
std::vector< SampleBuffer * > sampleBuffers
std::deque< SampleBuffer * > freeSampleBuffers
float gammaTable [GammaTableSize]
Filterfilter
FilterLUTsfilterLUTs

Static Private Attributes

static const unsigned int GammaTableSize = 1024

Friends

class Context

Detailed Description

Definition at line 130 of file pixeldevice.h.


Constructor & Destructor Documentation

NativePixelDevice::NativePixelDevice ( const Context context,
const unsigned int  threadIndex,
const unsigned int  devIndex 
)
NativePixelDevice::~NativePixelDevice (  ) 

Member Function Documentation

void NativePixelDevice::AddSampleBuffer ( const FilterType  type,
SampleBuffer sampleBuffer 
) [virtual]
void NativePixelDevice::ClearFrameBuffer (  )  [virtual]

Implements luxrays::PixelDevice.

Definition at line 86 of file nativepdevice.cpp.

References luxrays::FrameBuffer::Clear(), and frameBuffer.

void NativePixelDevice::ClearSampleFrameBuffer (  )  [virtual]

Implements luxrays::PixelDevice.

Definition at line 82 of file nativepdevice.cpp.

References luxrays::SampleFrameBuffer::Clear(), and sampleFrameBuffer.

void NativePixelDevice::FreeSampleBuffer ( SampleBuffer sampleBuffer  )  [virtual]

Implements luxrays::PixelDevice.

Definition at line 132 of file nativepdevice.cpp.

References freeSampleBuffers, and splatMutex.

const FrameBuffer* luxrays::NativePixelDevice::GetFrameBuffer (  )  const [inline, virtual]

Implements luxrays::PixelDevice.

Definition at line 153 of file pixeldevice.h.

References frameBuffer.

unsigned int luxrays::NativePixelDevice::GetFreeDevBufferCount (  )  [inline]

Definition at line 155 of file pixeldevice.h.

References freeSampleBuffers, and splatMutex.

SampleBuffer * NativePixelDevice::GetFreeSampleBuffer (  )  [virtual]
const SampleFrameBuffer * NativePixelDevice::GetSampleFrameBuffer (  )  const [virtual]

Implements luxrays::PixelDevice.

Definition at line 324 of file nativepdevice.cpp.

References sampleFrameBuffer.

unsigned int luxrays::NativePixelDevice::GetTotalDevBufferCount (  )  [inline]

Definition at line 160 of file pixeldevice.h.

References sampleBuffers, and splatMutex.

void NativePixelDevice::Init ( const unsigned int  w,
const unsigned int  h 
) [virtual]
void NativePixelDevice::Interrupt (  )  [virtual]

Implements luxrays::Device.

Definition at line 102 of file nativepdevice.cpp.

References splatMutex, and luxrays::Device::started.

void NativePixelDevice::Merge ( const SampleFrameBuffer sfb  )  [virtual]
float luxrays::NativePixelDevice::Radiance2PixelFloat ( const float  x  )  const [inline, private]

Definition at line 184 of file pixeldevice.h.

References luxrays::Clamp(), gammaTable, and GammaTableSize.

Referenced by UpdateFrameBuffer().

void NativePixelDevice::SetGamma ( const float  gamma = 2.2f  )  [virtual]

Implements luxrays::PixelDevice.

Definition at line 90 of file nativepdevice.cpp.

References luxrays::Clamp(), gammaTable, and GammaTableSize.

Referenced by NativePixelDevice().

void NativePixelDevice::SplatFiltered ( const SampleBufferElem sampleElem  )  [private]
void NativePixelDevice::SplatPreview ( const SampleBufferElem sampleElem  )  [private]
void luxrays::NativePixelDevice::SplatRadiance ( const Spectrum  radiance,
const unsigned int  x,
const unsigned int  y,
const float  weight = 1.f 
) [inline, private]
void NativePixelDevice::Start (  )  [virtual]

Reimplemented from luxrays::PixelDevice.

Definition at line 97 of file nativepdevice.cpp.

References splatMutex.

void NativePixelDevice::Stop (  )  [virtual]

Reimplemented from luxrays::Device.

Definition at line 107 of file nativepdevice.cpp.

References splatMutex.

Referenced by ~NativePixelDevice().

void NativePixelDevice::UpdateFrameBuffer ( const ToneMapParams params  )  [virtual]

Friends And Related Function Documentation

friend class Context [friend]

Reimplemented from luxrays::PixelDevice.

Definition at line 168 of file pixeldevice.h.


Member Data Documentation

Definition at line 206 of file pixeldevice.h.

Referenced by NativePixelDevice(), SplatFiltered(), and ~NativePixelDevice().

Definition at line 207 of file pixeldevice.h.

Referenced by NativePixelDevice(), SplatFiltered(), and ~NativePixelDevice().

Definition at line 204 of file pixeldevice.h.

Referenced by Radiance2PixelFloat(), and SetGamma().

const unsigned int luxrays::NativePixelDevice::GammaTableSize = 1024 [static, private]

Definition at line 171 of file pixeldevice.h.

Referenced by Radiance2PixelFloat(), and SetGamma().

size_t NativePixelDevice::SampleBufferSize = 4096 [static]

Definition at line 166 of file pixeldevice.h.

Referenced by GetFreeSampleBuffer().


The documentation for this class was generated from the following files:
Generated on Sat Aug 21 14:06:20 2010 for LuxRays by  doxygen 1.6.3