|
MayaFlux 0.4.0
Digital-First Multimedia Processing Framework
|
Vulkan implementation of the IGraphicsBackend interface. More...
#include <VulkanBackend.hpp>
Inheritance diagram for MayaFlux::Core::VulkanBackend:
Collaboration diagram for MayaFlux::Core::VulkanBackend:Public Member Functions | |
| void | begin_frame (std::shared_ptr< Window >) override |
| Begin rendering frame for the specified window. | |
| void | cleanup () override |
| Cleanup the graphics backend and release all resources. | |
| void | end_frame (std::shared_ptr< Window >) override |
| End rendering frame for the specified window. | |
| GlobalGraphicsConfig::GraphicsApi | get_backend_type () override |
| Get the type of the graphics backend. | |
| VKCommandManager & | get_command_manager () |
| Get reference to the backend command manager. | |
| VKContext & | get_context () |
| Get reference to the backend window handler. | |
| const void * | get_native_context () const override |
| void * | get_native_context () override |
| Get context pointer specific to the graphics backend (e.g., OpenGL context, Vulkan instance, etc.) | |
| BackendPipelineManager & | get_pipeline_manager () |
| Get reference to the backend pipeline manager. | |
| BackendResourceManager & | get_resource_manager () |
| Get reference to the backend resource manager. | |
| BackendWindowHandler & | get_window_handler () |
| Get reference to the backend window handler. | |
| void | handle_window_resize () override |
| Handle window resize event for the specified window. | |
| bool | initialize (const GlobalGraphicsConfig &config) override |
| Initialize the graphics backend with global configuration. | |
| bool | is_window_registered (std::shared_ptr< Window > window) override |
| Check if a window is registered with the graphics backend. | |
| bool | register_window (std::shared_ptr< Window > window) override |
| Register a window with the graphics backend for rendering. | |
| void | render_all_windows () override |
| Render all registered windows (batch optimization) Default: calls render_window() for each registered window. | |
| void | render_window (std::shared_ptr< Window > window) override |
| Render the contents of the specified window. | |
| void | unregister_window (std::shared_ptr< Window > window) override |
| Unregister a window from the graphics backend. | |
| VulkanBackend () | |
| void | wait_idle () override |
| Wait until the graphics backend is idle. | |
| ~VulkanBackend () override | |
Public Member Functions inherited from MayaFlux::Core::IGraphicsBackend | |
| virtual | ~IGraphicsBackend ()=default |
Private Member Functions | |
| void | register_backend_services () |
| void | unregister_backend_services () |
Private Attributes | |
| std::shared_ptr< Registry::Service::BufferService > | m_buffer_service |
| std::unique_ptr< VKCommandManager > | m_command_manager |
| std::shared_ptr< Registry::Service::ComputeService > | m_compute_service |
| std::unique_ptr< VKContext > | m_context |
| std::shared_ptr< Registry::Service::DisplayService > | m_display_service |
| bool | m_is_initialized {} |
| std::unique_ptr< BackendPipelineManager > | m_pipeline_manager |
| std::unique_ptr< BackendResourceManager > | m_resource_manager |
| std::unique_ptr< BackendWindowHandler > | m_window_handler |
Vulkan implementation of the IGraphicsBackend interface.
This class provides a Vulkan-based graphics backend for rendering to windows. It manages Vulkan context, swapchains, command buffers, and synchronization objects for each registered window. It supports window registration, rendering, and handling window resize events.
Definition at line 33 of file VulkanBackend.hpp.