Photon Engine 2.0.0-beta
A physically based renderer.
|
#include <SpiralGridScheduler.h>
Public Member Functions | |
SpiralGridScheduler () | |
SpiralGridScheduler (std::size_t numWorkers, const WorkUnit &totalWorkUnit, const math::Vector2S &spiralTileSize) | |
SpiralGridScheduler (std::size_t numWorkers, const WorkUnit &totalWorkUnit, const math::Vector2S &spiralTileSize, const math::Vector2S &numGridCells) | |
Public Member Functions inherited from ph::WorkScheduler | |
WorkScheduler () | |
A scheduler with no work load. | |
WorkScheduler (std::size_t numWorkers, const WorkUnit &totalWorkUnit) | |
A scheduler with specific number of workers and work load. | |
bool | dispatch (WorkUnit *out_workUnit) override |
Get some amount of work. | |
bool | schedule (WorkUnit *out_workUnit) |
Get some amount of work. | |
void | scheduleAll (std::vector< WorkUnit > &out_workUnits) |
void | submit (const WorkUnit &workUnit) |
float | getScheduledFraction () const |
float | getSubmittedFraction () const |
bool | isExhausted () const |
Checks if all works had been scheduled. | |
Public Member Functions inherited from ph::IWorkDispatcher | |
virtual | ~IWorkDispatcher ()=default |
Additional Inherited Members | |
Protected Attributes inherited from ph::WorkScheduler | |
std::size_t | m_numWorkers |
WorkUnit | m_totalWorkUnit |
std::size_t | m_totalVolume |
std::size_t | m_scheduledVolume |
std::size_t | m_submittedVolume |
A spiral scheduler that further schedules each work unit using a grid scheduler.
|
inline |
|
inline |
|
inline |