![]() |
Flecs v3.2
A fast entity component system (ECS) for C & C++
|
Pipeline module. More...
Go to the source code of this file.
Classes | |
| struct | ecs_pipeline_desc_t |
Macros | |
| #define | FLECS_PIPELINE_H |
| #define | ECS_PIPELINE_DEFINE(world, id_, ...) |
| #define | ECS_PIPELINE(world, id, ...) |
| #define | ecs_pipeline(world, ...) ecs_pipeline_init(world, &(ecs_pipeline_desc_t) __VA_ARGS__ ) |
Typedefs | |
| typedef struct ecs_pipeline_desc_t | ecs_pipeline_desc_t |
Functions | |
| FLECS_API ecs_entity_t | ecs_pipeline_init (ecs_world_t *world, const ecs_pipeline_desc_t *desc) |
| Create a custom pipeline. | |
| FLECS_API void | ecs_set_pipeline (ecs_world_t *world, ecs_entity_t pipeline) |
| Set a custom pipeline. | |
| FLECS_API ecs_entity_t | ecs_get_pipeline (const ecs_world_t *world) |
| Get the current pipeline. | |
| FLECS_API bool | ecs_progress (ecs_world_t *world, ecs_ftime_t delta_time) |
| Progress a world. | |
| FLECS_API void | ecs_set_time_scale (ecs_world_t *world, ecs_ftime_t scale) |
| Set time scale. | |
| FLECS_API void | ecs_reset_clock (ecs_world_t *world) |
| Reset world clock. | |
| FLECS_API void | ecs_run_pipeline (ecs_world_t *world, ecs_entity_t pipeline, ecs_ftime_t delta_time) |
| Run pipeline. | |
| FLECS_API void | ecs_set_threads (ecs_world_t *world, int32_t threads) |
| Set number of worker threads. | |
| FLECS_API void | ecs_set_task_threads (ecs_world_t *world, int32_t task_threads) |
| Set number of worker task threads. | |
| FLECS_API bool | ecs_using_task_threads (ecs_world_t *world) |
| Returns true if task thread use have been requested. | |
| FLECS_API void | FlecsPipelineImport (ecs_world_t *world) |
Pipeline module.
The pipeline module provides support for running systems automatically and on multiple threads. A pipeline is a collection of tags that can be added to systems. When ran, a pipeline will query for all systems that have the tags that belong to a pipeline, and run them.
The module defines a number of builtin tags (EcsPreUpdate, EcsOnUpdate, EcsPostUpdate etc.) that are registered with the builtin pipeline. The builtin pipeline is ran by default when calling ecs_progress(). An application can set a custom pipeline with the ecs_set_pipeline function.
Definition in file pipeline.h.