The PxTaskManager interface.
More...
#include <PxTaskManager.h>
The PxTaskManager interface.
A PxTaskManager instance holds references to user-provided dispatcher objects, when tasks are submitted the PxTaskManager routes them to the appropriate dispatcher and handles task profiling if enabled. Users should not implement the PxTaskManager interface, the SDK creates its own concrete PxTaskManager object per-scene which users can configure by passing dispatcher objects into the PxSceneDesc.
- See also
- CpuDispatcher
-
PxGpuDispatcher
◆ ~PxTaskManager()
virtual physx::PxTaskManager::~PxTaskManager |
( |
| ) |
|
|
inlineprotectedvirtual |
◆ createTaskManager()
Construct a new PxTaskManager instance with the given [optional] dispatchers.
◆ getCpuDispatcher()
Get the user-provided dispatcher object for CPU tasks.
- Returns
- The CPU dispatcher object.
- See also
- CpuDispatcher
◆ getGpuDispatcher()
Get the user-provided dispatcher object for GPU tasks.
- Returns
- The GPU dispatcher object.
- See also
- PxGpuDispatcher
◆ getNamedTask()
virtual PxTaskID physx::PxTaskManager::getNamedTask |
( |
const char * |
name | ) |
|
|
pure virtual |
Retrieve a task by name.
- Parameters
-
[in] | name | The unique name of a task |
- Returns
- The ID of the task with that name, or TT_NOT_PRESENT if not found
◆ getTaskFromID()
Retrieve a task given a task ID.
- Parameters
-
[in] | id | The ID of the task to return, a valid ID must be passed or results are undefined |
- Returns
- The task associated with the ID
◆ release()
virtual void physx::PxTaskManager::release |
( |
| ) |
|
|
pure virtual |
Release the PxTaskManager object, referenced dispatchers will not be released.
◆ resetDependencies()
virtual void physx::PxTaskManager::resetDependencies |
( |
| ) |
|
|
pure virtual |
Reset any dependencies between Tasks.
- Note
- Will be called at the start of every frame before tasks are submitted.
- See also
- PxTask
◆ setCpuDispatcher()
virtual void physx::PxTaskManager::setCpuDispatcher |
( |
PxCpuDispatcher & |
ref | ) |
|
|
pure virtual |
Set the user-provided dispatcher object for CPU tasks.
- Parameters
-
[in] | ref | The dispatcher object. |
- See also
- CpuDispatcher
◆ setGpuDispatcher()
virtual void physx::PxTaskManager::setGpuDispatcher |
( |
PxGpuDispatcher & |
ref | ) |
|
|
pure virtual |
Set the user-provided dispatcher object for GPU tasks.
- Parameters
-
[in] | ref | The dispatcher object. |
- See also
- PxGpuDispatcher
◆ startSimulation()
virtual void physx::PxTaskManager::startSimulation |
( |
| ) |
|
|
pure virtual |
Called by the owning scene to start the task graph.
- Note
- All tasks with with ref count of 1 will be dispatched.
- See also
- PxTask
◆ stopSimulation()
virtual void physx::PxTaskManager::stopSimulation |
( |
| ) |
|
|
pure virtual |
◆ submitNamedTask()
Submit a task with a unique name.
- Parameters
-
[in] | task | The task to be executed |
[in] | name | The unique name of a task |
[in] | type | The type of the task (default TT_CPU) |
- Returns
- The ID of the task with that name, or TT_NOT_PRESENT if not found
◆ submitUnnamedTask()
Submit an unnamed task.
- Parameters
-
[in] | task | The task to be executed |
[in] | type | The type of the task (default TT_CPU) |
- Returns
- The ID of the task with that name, or TT_NOT_PRESENT if not found
◆ taskCompleted()
virtual void physx::PxTaskManager::taskCompleted |
( |
PxTask & |
task | ) |
|
|
pure virtual |
Called by the worker threads to inform the PxTaskManager that a task has completed processing.
- Parameters
-
[in] | task | The task which has been completed |
Referenced by physx::PxTask::release().
◆ PxBaseTask
◆ PxGpuWorkerThread
friend class PxGpuWorkerThread |
|
friend |
◆ PxLightCpuTask
◆ PxTask
The documentation for this class was generated from the following file: