#include <intersectiondevice.h>
Public Member Functions | |
| NativeThreadIntersectionDevice (const Context *context, const unsigned int threadIndex, const unsigned int devIndex) | |
| ~NativeThreadIntersectionDevice () | |
| void | SetDataSet (const DataSet *newDataSet) |
| void | Start () |
| void | Interrupt () |
| void | Stop () |
| RayBuffer * | NewRayBuffer () |
| size_t | GetQueueSize () |
| void | PushRayBuffer (RayBuffer *rayBuffer) |
| RayBuffer * | PopRayBuffer () |
| double | GetLoad () const |
| void | Intersect (RayBuffer *rayBuffer) |
Static Public Attributes | |
| static size_t | RayBufferSize = 512 |
Private Attributes | |
| RayBufferSingleQueue | doneRayBufferQueue |
Friends | |
| class | Context |
Definition at line 76 of file intersectiondevice.h.
| NativeThreadIntersectionDevice::NativeThreadIntersectionDevice | ( | const Context * | context, | |
| const unsigned int | threadIndex, | |||
| const unsigned int | devIndex | |||
| ) |
Definition at line 35 of file nativeidevice.cpp.
References luxrays::Device::deviceName.
| NativeThreadIntersectionDevice::~NativeThreadIntersectionDevice | ( | ) |
Definition at line 43 of file nativeidevice.cpp.
References luxrays::Device::started, and Stop().
| double luxrays::NativeThreadIntersectionDevice::GetLoad | ( | ) | const [inline, virtual] |
Implements luxrays::IntersectionDevice.
Definition at line 92 of file intersectiondevice.h.
| size_t luxrays::NativeThreadIntersectionDevice::GetQueueSize | ( | ) | [inline, virtual] |
Implements luxrays::IntersectionDevice.
Definition at line 88 of file intersectiondevice.h.
| void NativeThreadIntersectionDevice::Interrupt | ( | ) | [virtual] |
Implements luxrays::Device.
Definition at line 56 of file nativeidevice.cpp.
References luxrays::Device::started.
| void NativeThreadIntersectionDevice::Intersect | ( | RayBuffer * | rayBuffer | ) |
Definition at line 76 of file nativeidevice.cpp.
References luxrays::IntersectionDevice::dataSet, luxrays::RayBuffer::GetHitBuffer(), luxrays::RayBuffer::GetRayBuffer(), luxrays::RayBuffer::GetRayCount(), luxrays::DataSet::Intersect(), luxrays::RayHit::SetMiss(), luxrays::Device::started, luxrays::IntersectionDevice::statsDeviceTotalTime, luxrays::IntersectionDevice::statsTotalRayCount, and luxrays::WallClockTime().
Referenced by PushRayBuffer().
| RayBuffer * NativeThreadIntersectionDevice::NewRayBuffer | ( | ) | [virtual] |
Implements luxrays::IntersectionDevice.
Definition at line 66 of file nativeidevice.cpp.
References RayBufferSize.
| RayBuffer * NativeThreadIntersectionDevice::PopRayBuffer | ( | ) | [virtual] |
Implements luxrays::IntersectionDevice.
Definition at line 96 of file nativeidevice.cpp.
References doneRayBufferQueue, luxrays::RayBufferSingleQueue::Pop(), and luxrays::Device::started.
| void NativeThreadIntersectionDevice::PushRayBuffer | ( | RayBuffer * | rayBuffer | ) | [virtual] |
Implements luxrays::IntersectionDevice.
Definition at line 70 of file nativeidevice.cpp.
References doneRayBufferQueue, Intersect(), and luxrays::RayBufferSingleQueue::Push().
| void NativeThreadIntersectionDevice::SetDataSet | ( | const DataSet * | newDataSet | ) | [virtual] |
Reimplemented from luxrays::IntersectionDevice.
Definition at line 48 of file nativeidevice.cpp.
| void NativeThreadIntersectionDevice::Start | ( | ) | [virtual] |
Reimplemented from luxrays::IntersectionDevice.
Definition at line 52 of file nativeidevice.cpp.
| void NativeThreadIntersectionDevice::Stop | ( | ) | [virtual] |
Reimplemented from luxrays::Device.
Definition at line 60 of file nativeidevice.cpp.
References luxrays::RayBufferSingleQueue::Clear(), and doneRayBufferQueue.
Referenced by ~NativeThreadIntersectionDevice().
friend class Context [friend] |
Reimplemented from luxrays::IntersectionDevice.
Definition at line 100 of file intersectiondevice.h.
Definition at line 103 of file intersectiondevice.h.
Referenced by PopRayBuffer(), PushRayBuffer(), and Stop().
size_t NativeThreadIntersectionDevice::RayBufferSize = 512 [static] |
Definition at line 98 of file intersectiondevice.h.
Referenced by NewRayBuffer().
1.6.3