|
Vulkan Schnee 0.0.1
High-performance rendering engine
|
Infrastructure to load images into the ecs. More...
#include <FrameProcessing.h>
Public Member Functions | |
| TextureAssetPipeline (EngineCore::TextureAssetManager *textureAssetManager, NamedThreadPool *assetLoaderPool) | |
| 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 (EngineCore::RenderingDataManager *rdm) |
| Sets the RenderingDataManager to notify when textures are loaded. | |
Private Member Functions | |
| void | requestExrHeaders (bool async=true) |
| void | loadImageData (bool async=true) |
| void | retrieveImageData (bool async=true) |
Private Attributes | |
| EngineCore::TextureAssetManager * | textureAssetManager |
| EngineCore::RenderingDataManager * | renderingDataManager = nullptr |
| NamedThreadPool * | assetLoaderPool = nullptr |
| std::vector< std::filesystem::path > | assetQueue |
| std::vector< Ecs::ExrHeaderFuture > | headerFutures |
| std::vector< Ecs::AssetLoadingImage > | imageFutures |
Friends | |
| class | EngineCore::AssetManager |
| class | EngineCore::Engine |
Infrastructure to load images into the ecs.
Definition at line 37 of file FrameProcessing.h.
| Ecs::TextureAssetPipeline::TextureAssetPipeline | ( | EngineCore::TextureAssetManager * | textureAssetManager, |
| NamedThreadPool * | assetLoaderPool ) |
Definition at line 31 of file FrameProcessing.cpp.
References assetLoaderPool, and textureAssetManager.
|
private |
Definition at line 73 of file FrameProcessing.cpp.
References assetLoaderPool, headerFutures, imageFutures, EngineCore::ExrLoader::load(), textureAssetManager, and TRACY_ZONE_SCOPED_NAMED_ASSET.
Referenced by tick().
|
private |
Definition at line 50 of file FrameProcessing.cpp.
References assetLoaderPool, assetQueue, headerFutures, EngineCore::ExrLoader::loadHeader(), and TRACY_ZONE_SCOPED_NAMED_ASSET.
Referenced by tick().
|
private |
Definition at line 115 of file FrameProcessing.cpp.
References imageFutures, renderingDataManager, textureAssetManager, TRACY_ZONE_SCOPED_NAMED_ASSET, and TRACY_ZONE_SCOPED_NAMED_D_ASSET.
Referenced by tick().
|
inline |
Sets the RenderingDataManager to notify when textures are loaded.
| rdm | Pointer to the RenderingDataManager |
Definition at line 67 of file FrameProcessing.h.
References renderingDataManager.
| void Ecs::TextureAssetPipeline::submitAsset | ( | const std::filesystem::path & | asset | ) |
submit the path to an asset relative from the executable to load
| asset | relative path to the texture |
Definition at line 38 of file FrameProcessing.cpp.
References assetQueue.
| void Ecs::TextureAssetPipeline::tick | ( | bool | async = true | ) |
Advances the state machine for the entire pipeline.
| async | Whether to run steps asynchronously |
Definition at line 43 of file FrameProcessing.cpp.
References loadImageData(), requestExrHeaders(), and retrieveImageData().
|
friend |
Definition at line 38 of file FrameProcessing.h.
|
friend |
Definition at line 39 of file FrameProcessing.h.
References assetLoaderPool, and textureAssetManager.
|
private |
Definition at line 76 of file FrameProcessing.h.
Referenced by EngineCore::Engine, loadImageData(), requestExrHeaders(), and TextureAssetPipeline().
|
private |
Definition at line 78 of file FrameProcessing.h.
Referenced by requestExrHeaders(), and submitAsset().
|
private |
Definition at line 79 of file FrameProcessing.h.
Referenced by loadImageData(), and requestExrHeaders().
|
private |
Definition at line 80 of file FrameProcessing.h.
Referenced by loadImageData(), and retrieveImageData().
|
private |
Definition at line 75 of file FrameProcessing.h.
Referenced by retrieveImageData(), and setRenderingDataManager().
|
private |
Definition at line 74 of file FrameProcessing.h.
Referenced by EngineCore::Engine, loadImageData(), retrieveImageData(), and TextureAssetPipeline().