Infrastructure to load images into the ecs.
More...
#include <TextureAssetPipeline.h>
|
| | TextureAssetPipeline (Assets::TextureAssetManager *textureAssetManager, NamedThreadPool *assetLoaderPool) |
| | Create a texture asset loading pipeline.
|
| void | submitAsset (const std::filesystem::path &asset) |
| | submit the path to an asset relative from the executable to load
|
| void | tick (bool async=true) |
| | Advances the state machine for the entire pipeline.
|
| void | setRenderingDataManager (Engine::Core::RenderingDataManager *renderingDataManager) |
| | Sets the RenderingDataManager to notify when textures are loaded.
|
| void | setMaxTexturesPerFrame (size_t max) |
| | Sets the maximum number of textures to process per frame.
|
| size_t | getPendingCount () const |
| | Returns the number of textures still pending in the pipeline.
|
| void | discardPendingWork () |
| | Clears all queued and in-flight texture loading work.
|
Infrastructure to load images into the ecs.
Definition at line 31 of file TextureAssetPipeline.h.
◆ TextureAssetPipeline()
| Engine::Ecs::TextureAssetPipeline::TextureAssetPipeline |
( |
Assets::TextureAssetManager * | textureAssetManager, |
|
|
NamedThreadPool * | assetLoaderPool ) |
Create a texture asset loading pipeline.
- Parameters
-
| textureAssetManager | Manager that owns texture asset records |
| assetLoaderPool | Thread pool used for texture loading work |
◆ discardPendingWork()
| void Engine::Ecs::TextureAssetPipeline::discardPendingWork |
( |
| ) |
|
Clears all queued and in-flight texture loading work.
◆ getPendingCount()
| size_t Engine::Ecs::TextureAssetPipeline::getPendingCount |
( |
| ) |
const |
|
inline |
◆ loadImageData()
| void Engine::Ecs::TextureAssetPipeline::loadImageData |
( |
bool | async = true | ) |
|
|
private |
◆ processKtx2Textures()
| void Engine::Ecs::TextureAssetPipeline::processKtx2Textures |
( |
bool | async = true | ) |
|
|
private |
◆ requestExrHeaders()
| void Engine::Ecs::TextureAssetPipeline::requestExrHeaders |
( |
bool | async = true | ) |
|
|
private |
◆ retrieveImageData()
| void Engine::Ecs::TextureAssetPipeline::retrieveImageData |
( |
bool | async = true | ) |
|
|
private |
◆ setMaxTexturesPerFrame()
| void Engine::Ecs::TextureAssetPipeline::setMaxTexturesPerFrame |
( |
size_t | max | ) |
|
|
inline |
◆ setRenderingDataManager()
| void Engine::Ecs::TextureAssetPipeline::setRenderingDataManager |
( |
Engine::Core::RenderingDataManager * | renderingDataManager | ) |
|
|
inline |
◆ submitAsset()
| void Engine::Ecs::TextureAssetPipeline::submitAsset |
( |
const std::filesystem::path & | asset | ) |
|
submit the path to an asset relative from the executable to load
- Parameters
-
| asset | relative path to the texture |
◆ tick()
| void Engine::Ecs::TextureAssetPipeline::tick |
( |
bool | async = true | ) |
|
Advances the state machine for the entire pipeline.
- Parameters
-
| async | Whether to run steps asynchronously |
◆ assetLoaderPool_
| NamedThreadPool* Engine::Ecs::TextureAssetPipeline::assetLoaderPool_ = nullptr |
|
private |
◆ assetQueue_
| std::vector<std::filesystem::path> Engine::Ecs::TextureAssetPipeline::assetQueue_ |
|
private |
◆ exrHeaderFutures_
| std::vector<ExrHeaderFuture> Engine::Ecs::TextureAssetPipeline::exrHeaderFutures_ |
|
private |
◆ imageFutures_
◆ ktx2LoadFutures_
| std::vector<Ktx2LoadFuture> Engine::Ecs::TextureAssetPipeline::ktx2LoadFutures_ |
|
private |
◆ ktx2Queue_
| std::vector<std::filesystem::path> Engine::Ecs::TextureAssetPipeline::ktx2Queue_ |
|
private |
◆ maxTexturesPerFrame_
| size_t Engine::Ecs::TextureAssetPipeline::maxTexturesPerFrame_ = 16 |
|
private |
◆ renderingDataManager_
| Core::RenderingDataManager* Engine::Ecs::TextureAssetPipeline::renderingDataManager_ = nullptr |
|
private |
◆ textureAssetManager_
The documentation for this class was generated from the following file: