neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
neogfx::i_rendering_engine Class Referenceabstract

#include <i_rendering_engine.hpp>

Inheritance diagram for neogfx::i_rendering_engine:
neolib::services::i_service

Classes

struct  consumer_exists
 
struct  consumer_not_found
 
struct  context_exists
 
struct  context_not_found
 
struct  failed_to_create_shader_program
 
struct  no_shader_program_active
 
struct  shader_program_error
 
struct  shader_program_not_found
 

Public Types

typedef void * handle
 
typedef neolib::i_vector< neolib::i_ref_ptr< i_shader_program > > shader_program_list
 

Public Member Functions

virtual ~i_rendering_engine ()=default
 
virtual const i_device_metricsdefault_screen_metrics () const =0
 
virtual neogfx::renderer renderer () const =0
 
virtual bool vsync_enabled () const =0
 
virtual void enable_vsync ()=0
 
virtual void disable_vsync ()=0
 
virtual void initialize ()=0
 
virtual void cleanup ()=0
 
virtual pixel_format_t set_pixel_format (const i_render_target &aTarget)=0
 
virtual const i_render_targetactive_target () const =0
 
virtual void activate_context (const i_render_target &aTarget)=0
 
virtual void deactivate_context ()=0
 
virtual handle create_context (const i_render_target &aTarget)=0
 
virtual void destroy_context (handle aContext)=0
 
virtual const shader_program_listshader_programs () const =0
 
virtual const i_shader_programshader_program (const neolib::i_string &aName) const =0
 
virtual i_shader_programshader_program (const neolib::i_string &aName)=0
 
virtual i_shader_programadd_shader_program (const neolib::i_ref_ptr< i_shader_program > &aShaderProgram)=0
 
virtual bool is_shader_program_active () const =0
 
virtual i_shader_programactive_shader_program ()=0
 
virtual const i_standard_shader_programdefault_shader_program () const =0
 
virtual i_standard_shader_programdefault_shader_program ()=0
 
virtual handle create_shader_program_object ()=0
 
virtual void destroy_shader_program_object (handle aShaderProgramObject)=0
 
virtual handle create_shader_object (shader_type aShaderType)=0
 
virtual void destroy_shader_object (handle aShaderObject)=0
 
virtual void create_window (i_surface_manager &aSurfaceManager, i_surface_window &aWindow, const video_mode &aVideoMode, std::string const &aWindowTitle, window_style aStyle, i_ref_ptr< i_native_window > &aResult)=0
 
virtual void create_window (i_surface_manager &aSurfaceManager, i_surface_window &aWindow, const size &aDimensions, std::string const &aWindowTitle, window_style aStyle, i_ref_ptr< i_native_window > &aResult)=0
 
virtual void create_window (i_surface_manager &aSurfaceManager, i_surface_window &aWindow, const point &aPosition, const size &aDimensions, std::string const &aWindowTitle, window_style aStyle, i_ref_ptr< i_native_window > &aResult)=0
 
virtual void create_window (i_surface_manager &aSurfaceManager, i_surface_window &aWindow, i_native_window &aParent, const video_mode &aVideoMode, std::string const &aWindowTitle, window_style aStyle, i_ref_ptr< i_native_window > &aResult)=0
 
virtual void create_window (i_surface_manager &aSurfaceManager, i_surface_window &aWindow, i_native_window &aParent, const size &aDimensions, std::string const &aWindowTitle, window_style aStyle, i_ref_ptr< i_native_window > &aResult)=0
 
virtual void create_window (i_surface_manager &aSurfaceManager, i_surface_window &aWindow, i_native_window &aParent, const point &aPosition, const size &aDimensions, std::string const &aWindowTitle, window_style aStyle, i_ref_ptr< i_native_window > &aResult)=0
 
ref_ptr< i_native_windowcreate_window (i_surface_manager &aSurfaceManager, i_surface_window &aWindow, const video_mode &aVideoMode, std::string const &aWindowTitle, window_style aStyle=window_style::Default)
 
ref_ptr< i_native_windowcreate_window (i_surface_manager &aSurfaceManager, i_surface_window &aWindow, const size &aDimensions, std::string const &aWindowTitle, window_style aStyle=window_style::Default)
 
ref_ptr< i_native_windowcreate_window (i_surface_manager &aSurfaceManager, i_surface_window &aWindow, const point &aPosition, const size &aDimensions, std::string const &aWindowTitle, window_style aStyle=window_style::Default)
 
ref_ptr< i_native_windowcreate_window (i_surface_manager &aSurfaceManager, i_surface_window &aWindow, i_native_window &aParent, const video_mode &aVideoMode, std::string const &aWindowTitle, window_style aStyle=window_style::Default)
 
ref_ptr< i_native_windowcreate_window (i_surface_manager &aSurfaceManager, i_surface_window &aWindow, i_native_window &aParent, const size &aDimensions, std::string const &aWindowTitle, window_style aStyle=window_style::Default)
 
ref_ptr< i_native_windowcreate_window (i_surface_manager &aSurfaceManager, i_surface_window &aWindow, i_native_window &aParent, const point &aPosition, const size &aDimensions, std::string const &aWindowTitle, window_style aStyle=window_style::Default)
 
virtual bool creating_window () const =0
 
virtual i_font_managerfont_manager ()=0
 
virtual i_texture_managertexture_manager ()=0
 
virtual bool vertex_buffer_allocated (i_vertex_provider &aProvider) const =0
 
virtual i_vertex_bufferallocate_vertex_buffer (i_vertex_provider &aProvider, vertex_buffer_type aType=vertex_buffer_type::Default)=0
 
virtual void deallocate_vertex_buffer (i_vertex_provider &aProvider)=0
 
virtual const i_vertex_buffervertex_buffer (i_vertex_provider &aProvider) const =0
 
virtual i_vertex_buffervertex_buffer (i_vertex_provider &aProvider)=0
 
virtual void execute_vertex_buffers ()=0
 
virtual i_textureping_pong_buffer1 (const size &aExtents, size &aPreviousExtents, texture_sampling aSampling=texture_sampling::Multisample)=0
 
virtual i_textureping_pong_buffer2 (const size &aExtents, size &aPreviousExtents, texture_sampling aSampling=texture_sampling::Multisample)=0
 
virtual bool is_subpixel_rendering_on () const =0
 
virtual void subpixel_rendering_on ()=0
 
virtual void subpixel_rendering_off ()=0
 
virtual void render_now ()=0
 
virtual bool frame_rate_limited () const =0
 
virtual void enable_frame_rate_limiter (bool aEnable)=0
 
virtual uint32_t frame_rate_limit () const =0
 
virtual void set_frame_rate_limit (uint32_t aFps)=0
 
virtual bool use_rendering_priority () const =0
 
virtual bool process_events ()=0
 
virtual void register_frame_counter (i_widget &aWidget, uint32_t aDuration)=0
 
virtual void unregister_frame_counter (i_widget &aWidget, uint32_t aDuration)=0
 
virtual uint32_t frame_counter (uint32_t aDuration) const =0
 
- Public Member Functions inherited from neolib::services::i_service
virtual ~i_service ()=default
 

Static Public Member Functions

static uuid const & iid ()
 

Detailed Description

Definition at line 53 of file i_rendering_engine.hpp.

Member Typedef Documentation

◆ handle

Definition at line 71 of file i_rendering_engine.hpp.

◆ shader_program_list

Constructor & Destructor Documentation

◆ ~i_rendering_engine()

virtual neogfx::i_rendering_engine::~i_rendering_engine ( )
virtualdefault

Member Function Documentation

◆ activate_context()

virtual void neogfx::i_rendering_engine::activate_context ( const i_render_target aTarget)
pure virtual

◆ active_shader_program()

virtual i_shader_program & neogfx::i_rendering_engine::active_shader_program ( )
pure virtual

◆ active_target()

virtual const i_render_target * neogfx::i_rendering_engine::active_target ( ) const
pure virtual

◆ add_shader_program()

virtual i_shader_program & neogfx::i_rendering_engine::add_shader_program ( const neolib::i_ref_ptr< i_shader_program > &  aShaderProgram)
pure virtual

◆ allocate_vertex_buffer()

virtual i_vertex_buffer & neogfx::i_rendering_engine::allocate_vertex_buffer ( i_vertex_provider aProvider,
vertex_buffer_type  aType = vertex_buffer_type::Default 
)
pure virtual

◆ cleanup()

virtual void neogfx::i_rendering_engine::cleanup ( )
pure virtual

◆ create_context()

virtual handle neogfx::i_rendering_engine::create_context ( const i_render_target aTarget)
pure virtual

◆ create_shader_object()

virtual handle neogfx::i_rendering_engine::create_shader_object ( shader_type  aShaderType)
pure virtual

◆ create_shader_program_object()

virtual handle neogfx::i_rendering_engine::create_shader_program_object ( )
pure virtual

◆ create_window() [1/12]

virtual void neogfx::i_rendering_engine::create_window ( i_surface_manager aSurfaceManager,
i_surface_window aWindow,
const point aPosition,
const size aDimensions,
std::string const &  aWindowTitle,
window_style  aStyle,
i_ref_ptr< i_native_window > &  aResult 
)
pure virtual

◆ create_window() [2/12]

ref_ptr< i_native_window > neogfx::i_rendering_engine::create_window ( i_surface_manager aSurfaceManager,
i_surface_window aWindow,
const point aPosition,
const size aDimensions,
std::string const &  aWindowTitle,
window_style  aStyle = window_style::Default 
)
inline

Definition at line 126 of file i_rendering_engine.hpp.

◆ create_window() [3/12]

virtual void neogfx::i_rendering_engine::create_window ( i_surface_manager aSurfaceManager,
i_surface_window aWindow,
const size aDimensions,
std::string const &  aWindowTitle,
window_style  aStyle,
i_ref_ptr< i_native_window > &  aResult 
)
pure virtual

◆ create_window() [4/12]

ref_ptr< i_native_window > neogfx::i_rendering_engine::create_window ( i_surface_manager aSurfaceManager,
i_surface_window aWindow,
const size aDimensions,
std::string const &  aWindowTitle,
window_style  aStyle = window_style::Default 
)
inline

Definition at line 120 of file i_rendering_engine.hpp.

◆ create_window() [5/12]

virtual void neogfx::i_rendering_engine::create_window ( i_surface_manager aSurfaceManager,
i_surface_window aWindow,
const video_mode aVideoMode,
std::string const &  aWindowTitle,
window_style  aStyle,
i_ref_ptr< i_native_window > &  aResult 
)
pure virtual

◆ create_window() [6/12]

ref_ptr< i_native_window > neogfx::i_rendering_engine::create_window ( i_surface_manager aSurfaceManager,
i_surface_window aWindow,
const video_mode aVideoMode,
std::string const &  aWindowTitle,
window_style  aStyle = window_style::Default 
)
inline

Definition at line 114 of file i_rendering_engine.hpp.

◆ create_window() [7/12]

virtual void neogfx::i_rendering_engine::create_window ( i_surface_manager aSurfaceManager,
i_surface_window aWindow,
i_native_window aParent,
const point aPosition,
const size aDimensions,
std::string const &  aWindowTitle,
window_style  aStyle,
i_ref_ptr< i_native_window > &  aResult 
)
pure virtual

◆ create_window() [8/12]

ref_ptr< i_native_window > neogfx::i_rendering_engine::create_window ( i_surface_manager aSurfaceManager,
i_surface_window aWindow,
i_native_window aParent,
const point aPosition,
const size aDimensions,
std::string const &  aWindowTitle,
window_style  aStyle = window_style::Default 
)
inline

Definition at line 144 of file i_rendering_engine.hpp.

◆ create_window() [9/12]

virtual void neogfx::i_rendering_engine::create_window ( i_surface_manager aSurfaceManager,
i_surface_window aWindow,
i_native_window aParent,
const size aDimensions,
std::string const &  aWindowTitle,
window_style  aStyle,
i_ref_ptr< i_native_window > &  aResult 
)
pure virtual

◆ create_window() [10/12]

ref_ptr< i_native_window > neogfx::i_rendering_engine::create_window ( i_surface_manager aSurfaceManager,
i_surface_window aWindow,
i_native_window aParent,
const size aDimensions,
std::string const &  aWindowTitle,
window_style  aStyle = window_style::Default 
)
inline

Definition at line 138 of file i_rendering_engine.hpp.

◆ create_window() [11/12]

virtual void neogfx::i_rendering_engine::create_window ( i_surface_manager aSurfaceManager,
i_surface_window aWindow,
i_native_window aParent,
const video_mode aVideoMode,
std::string const &  aWindowTitle,
window_style  aStyle,
i_ref_ptr< i_native_window > &  aResult 
)
pure virtual

◆ create_window() [12/12]

ref_ptr< i_native_window > neogfx::i_rendering_engine::create_window ( i_surface_manager aSurfaceManager,
i_surface_window aWindow,
i_native_window aParent,
const video_mode aVideoMode,
std::string const &  aWindowTitle,
window_style  aStyle = window_style::Default 
)
inline

Definition at line 132 of file i_rendering_engine.hpp.

◆ creating_window()

virtual bool neogfx::i_rendering_engine::creating_window ( ) const
pure virtual

◆ deactivate_context()

virtual void neogfx::i_rendering_engine::deactivate_context ( )
pure virtual

◆ deallocate_vertex_buffer()

virtual void neogfx::i_rendering_engine::deallocate_vertex_buffer ( i_vertex_provider aProvider)
pure virtual

◆ default_screen_metrics()

virtual const i_device_metrics & neogfx::i_rendering_engine::default_screen_metrics ( ) const
pure virtual

◆ default_shader_program() [1/2]

virtual const i_standard_shader_program & neogfx::i_rendering_engine::default_shader_program ( ) const
pure virtual

◆ default_shader_program() [2/2]

virtual i_standard_shader_program & neogfx::i_rendering_engine::default_shader_program ( )
pure virtual

◆ destroy_context()

virtual void neogfx::i_rendering_engine::destroy_context ( handle  aContext)
pure virtual

◆ destroy_shader_object()

virtual void neogfx::i_rendering_engine::destroy_shader_object ( handle  aShaderObject)
pure virtual

◆ destroy_shader_program_object()

virtual void neogfx::i_rendering_engine::destroy_shader_program_object ( handle  aShaderProgramObject)
pure virtual

◆ disable_vsync()

virtual void neogfx::i_rendering_engine::disable_vsync ( )
pure virtual

◆ enable_frame_rate_limiter()

virtual void neogfx::i_rendering_engine::enable_frame_rate_limiter ( bool  aEnable)
pure virtual

◆ enable_vsync()

virtual void neogfx::i_rendering_engine::enable_vsync ( )
pure virtual

◆ execute_vertex_buffers()

virtual void neogfx::i_rendering_engine::execute_vertex_buffers ( )
pure virtual

◆ font_manager()

virtual i_font_manager & neogfx::i_rendering_engine::font_manager ( )
pure virtual

◆ frame_counter()

virtual uint32_t neogfx::i_rendering_engine::frame_counter ( uint32_t  aDuration) const
pure virtual

◆ frame_rate_limit()

virtual uint32_t neogfx::i_rendering_engine::frame_rate_limit ( ) const
pure virtual

◆ frame_rate_limited()

virtual bool neogfx::i_rendering_engine::frame_rate_limited ( ) const
pure virtual

◆ iid()

static uuid const & neogfx::i_rendering_engine::iid ( )
inlinestatic

Definition at line 181 of file i_rendering_engine.hpp.

◆ initialize()

virtual void neogfx::i_rendering_engine::initialize ( )
pure virtual

◆ is_shader_program_active()

virtual bool neogfx::i_rendering_engine::is_shader_program_active ( ) const
pure virtual

◆ is_subpixel_rendering_on()

virtual bool neogfx::i_rendering_engine::is_subpixel_rendering_on ( ) const
pure virtual

◆ ping_pong_buffer1()

virtual i_texture & neogfx::i_rendering_engine::ping_pong_buffer1 ( const size aExtents,
size aPreviousExtents,
texture_sampling  aSampling = texture_sampling::Multisample 
)
pure virtual

◆ ping_pong_buffer2()

virtual i_texture & neogfx::i_rendering_engine::ping_pong_buffer2 ( const size aExtents,
size aPreviousExtents,
texture_sampling  aSampling = texture_sampling::Multisample 
)
pure virtual

◆ process_events()

virtual bool neogfx::i_rendering_engine::process_events ( )
pure virtual

◆ register_frame_counter()

virtual void neogfx::i_rendering_engine::register_frame_counter ( i_widget aWidget,
uint32_t  aDuration 
)
pure virtual

◆ render_now()

virtual void neogfx::i_rendering_engine::render_now ( )
pure virtual

◆ renderer()

virtual neogfx::renderer neogfx::i_rendering_engine::renderer ( ) const
pure virtual

◆ set_frame_rate_limit()

virtual void neogfx::i_rendering_engine::set_frame_rate_limit ( uint32_t  aFps)
pure virtual

◆ set_pixel_format()

virtual pixel_format_t neogfx::i_rendering_engine::set_pixel_format ( const i_render_target aTarget)
pure virtual

◆ shader_program() [1/2]

virtual const i_shader_program & neogfx::i_rendering_engine::shader_program ( const neolib::i_string aName) const
pure virtual

◆ shader_program() [2/2]

virtual i_shader_program & neogfx::i_rendering_engine::shader_program ( const neolib::i_string aName)
pure virtual

◆ shader_programs()

virtual const shader_program_list & neogfx::i_rendering_engine::shader_programs ( ) const
pure virtual

◆ subpixel_rendering_off()

virtual void neogfx::i_rendering_engine::subpixel_rendering_off ( )
pure virtual

◆ subpixel_rendering_on()

virtual void neogfx::i_rendering_engine::subpixel_rendering_on ( )
pure virtual

◆ texture_manager()

virtual i_texture_manager & neogfx::i_rendering_engine::texture_manager ( )
pure virtual

◆ unregister_frame_counter()

virtual void neogfx::i_rendering_engine::unregister_frame_counter ( i_widget aWidget,
uint32_t  aDuration 
)
pure virtual

◆ use_rendering_priority()

virtual bool neogfx::i_rendering_engine::use_rendering_priority ( ) const
pure virtual

◆ vertex_buffer() [1/2]

virtual const i_vertex_buffer & neogfx::i_rendering_engine::vertex_buffer ( i_vertex_provider aProvider) const
pure virtual

◆ vertex_buffer() [2/2]

virtual i_vertex_buffer & neogfx::i_rendering_engine::vertex_buffer ( i_vertex_provider aProvider)
pure virtual

◆ vertex_buffer_allocated()

virtual bool neogfx::i_rendering_engine::vertex_buffer_allocated ( i_vertex_provider aProvider) const
pure virtual

◆ vsync_enabled()

virtual bool neogfx::i_rendering_engine::vsync_enabled ( ) const
pure virtual

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