MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
MayaFlux::Core::IGraphicsBackend Class Referenceabstract

#include <GraphicsBackend.hpp>

+ Inheritance diagram for MayaFlux::Core::IGraphicsBackend:
+ Collaboration diagram for MayaFlux::Core::IGraphicsBackend:

Public Member Functions

virtual ~IGraphicsBackend ()=default
 
virtual bool initialize (const GlobalGraphicsConfig &config)=0
 Initialize the graphics backend with global configuration.
 
virtual void cleanup ()=0
 Cleanup the graphics backend and release all resources.
 
virtual GlobalGraphicsConfig::GraphicsApi get_backend_type ()=0
 Get the type of the graphics backend.
 
virtual bool register_window (std::shared_ptr< Window > window)=0
 Register a window with the graphics backend for rendering.
 
virtual void unregister_window (std::shared_ptr< Window > window)=0
 Unregister a window from the graphics backend.
 
virtual bool is_window_registered (std::shared_ptr< Window > window)=0
 Check if a window is registered with the graphics backend.
 
virtual void begin_frame (std::shared_ptr< Window > window)=0
 Begin rendering frame for the specified window.
 
virtual void render_window (std::shared_ptr< Window > window)=0
 Render the contents of the specified window.
 
virtual void render_all_windows ()=0
 Render all registered windows (batch optimization) Default: calls render_window() for each registered window.
 
virtual void end_frame (std::shared_ptr< Window > window)=0
 End rendering frame for the specified window.
 
virtual void wait_idle ()=0
 Wait until the graphics backend is idle.
 
virtual void handle_window_resize ()=0
 Handle window resize event for the specified window.
 
virtual void * get_native_context ()=0
 Get context pointer specific to the graphics backend (e.g., OpenGL context, Vulkan instance, etc.)
 
virtual const void * get_native_context () const =0
 

Detailed Description

Definition at line 9 of file GraphicsBackend.hpp.


The documentation for this class was generated from the following file: