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