|
Photon Engine 2.0.0-beta
A physically based renderer.
|
#include <TileScheduler.h>
Public Types | |
| enum class | EOrigin { LowerLeft , LowerRight , UpperLeft , UpperRight } |
Public Member Functions | |
| TileScheduler () | |
| TileScheduler (std::size_t numWorkers, const WorkUnit &totalWorkUnit, const math::Vector2S &tileSize) | |
| TileScheduler (std::size_t numWorkers, const WorkUnit &totalWorkUnit, const math::Vector2S &tileSize, EOrigin origin, std::size_t prioriAxis) | |
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 |
Divide work region into rectangles with prescribed dimensions.
|
strong |
|
inline |
|
inline |
|
inline |