MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ initialize()

MAYAFLUX_API bool MayaFlux::Portal::Graphics::initialize ( const std::shared_ptr< Core::VulkanBackend > &  backend)

Initialize Portal::Graphics Glue Layer.

Parameters
backendInitialized Vulkan backend
Returns
True if initialization succeeded

Initializes all Portal::Graphics managers:

Must be called after backend initialization (VulkanBackend::initialize()).

Definition at line 16 of file Graphics.cpp.

17{
18 if (!backend) {
19 MF_ERROR(Journal::Component::Portal, Journal::Context::API,
20 "Cannot initialize Portal::Graphics with null backend");
21 return false;
22 }
23
24 if (g_initialized) {
25 MF_WARN(Journal::Component::Portal, Journal::Context::API,
26 "Portal::Graphics already initialized");
27 return true;
28 }
29
30 MF_INFO(Journal::Component::Portal, Journal::Context::API,
31 "Initializing Portal::Graphics...");
32
33 if (!TextureLoom::instance().initialize(backend)) {
34 MF_ERROR(Journal::Component::Portal, Journal::Context::API,
35 "Failed to initialize TextureLoom");
36 return false;
37 }
38
39 if (!SamplerForge::instance().initialize(backend)) {
40 MF_ERROR(Journal::Component::Portal, Journal::Context::API,
41 "Failed to initialize SamplerFactory");
42 return false;
43 }
44
45 if (!ShaderFoundry::instance().initialize(backend)) {
46 MF_ERROR(Journal::Component::Portal, Journal::Context::API,
47 "Failed to initialize ShaderFoundry");
48 return false;
49 }
50
51 if (!ComputePress::instance().initialize()) {
52 MF_ERROR(Journal::Component::Portal, Journal::Context::API,
53 "Failed to initialize ComputePress");
54 return false;
55 }
56
57 if (!RenderFlow::instance().initialize()) {
58 MF_ERROR(Journal::Component::Portal, Journal::Context::API,
59 "Failed to initialize RenderFlow");
60 return false;
61 }
62
63 g_initialized = true;
64 MF_INFO(Journal::Component::Portal, Journal::Context::API,
65 "Portal::Graphics initialized successfully");
66 return true;
67}
#define MF_INFO(comp, ctx,...)
#define MF_ERROR(comp, ctx,...)
#define MF_WARN(comp, ctx,...)
void initialize()
Definition main.cpp:11

References MayaFlux::Journal::API, initialize(), MayaFlux::Portal::Graphics::ComputePress::instance(), MayaFlux::Portal::Graphics::RenderFlow::instance(), MayaFlux::Portal::Graphics::SamplerForge::instance(), MayaFlux::Portal::Graphics::ShaderFoundry::instance(), MayaFlux::Portal::Graphics::TextureLoom::instance(), MF_ERROR, MF_INFO, MF_WARN, and MayaFlux::Journal::Portal.

Referenced by MayaFlux::Core::GraphicsSubsystem::initialize_graphics_portal().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: