Engine class.
More...
#include <Engine.hpp>
Engine class.
Definition at line 65 of file Engine.hpp.
◆ Engine() [1/3]
| cae::Engine::Engine |
( |
const EngineConfig & | config, |
|
|
const std::function< std::shared_ptr< IAudio >()> & | audioFactory, |
|
|
const std::function< std::shared_ptr< INetwork >()> & | networkFactory, |
|
|
const std::function< std::shared_ptr< IRenderer >()> & | rendererFactory, |
|
|
const std::function< std::shared_ptr< IShaderIR >()> & | shaderIRFactory, |
|
|
const std::vector< std::function< std::shared_ptr< IShaderFrontend >()> > & | shaderFrontendFactories, |
|
|
const std::function< std::shared_ptr< IWindow >()> & | windowFactory ) |
Definition at line 18 of file engine.cpp.
References cae::Color::a, cae::EngineConfig::audio_master_volume, cae::EngineConfig::audio_muted, cae::Color::b, cae::Color::g, utl::INFO, initWindow(), utl::Logger::log(), cae::EngineConfig::log_fps, m_rendererPlugin, m_windowPlugin, cae::EngineConfig::network_host, cae::EngineConfig::network_port, cae::Color::r, cae::EngineConfig::renderer_clear_color, cae::EngineConfig::renderer_frame_rate_limit, cae::EngineConfig::renderer_vsync, cae::EngineConfig::window_fullscreen, cae::EngineConfig::window_height, cae::EngineConfig::window_icon_path, cae::EngineConfig::window_name, and cae::EngineConfig::window_width.
◆ ~Engine()
◆ Engine() [2/3]
| cae::Engine::Engine |
( |
const Engine & | | ) |
|
|
delete |
◆ Engine() [3/3]
| cae::Engine::Engine |
( |
Engine && | | ) |
|
|
delete |
◆ getAudio()
| const std::shared_ptr< IAudio > & cae::Engine::getAudio |
( |
| ) |
const |
|
inlinenodiscard |
◆ getCamera()
| const std::unique_ptr< Camera > & cae::Engine::getCamera |
( |
| ) |
const |
|
inlinenodiscard |
◆ getClock()
| const std::unique_ptr< utl::Clock > & cae::Engine::getClock |
( |
| ) |
|
|
inlinenodiscard |
◆ getNetwork()
| const std::shared_ptr< INetwork > & cae::Engine::getNetwork |
( |
| ) |
const |
|
inlinenodiscard |
◆ getRenderer()
| const std::shared_ptr< IRenderer > & cae::Engine::getRenderer |
( |
| ) |
const |
|
inlinenodiscard |
◆ getShaderManager()
| const std::unique_ptr< ShaderManager > & cae::Engine::getShaderManager |
( |
| ) |
const |
|
inlinenodiscard |
◆ getWindow()
| const std::shared_ptr< IWindow > & cae::Engine::getWindow |
( |
| ) |
const |
|
inlinenodiscard |
◆ initializeRenderResources()
| void cae::Engine::initializeRenderResources |
( |
const std::vector< ShaderSourceDesc > & | shaderSources, |
|
|
const std::vector< float > & | vertices ) const |
Initialize render resources.
- Parameters
-
| shaderSources | Shader sources to initialize |
| vertices | Vertex data to initialize |
Definition at line 55 of file engine.cpp.
◆ initShaders()
| void cae::Engine::initShaders |
( |
const std::vector< ShaderSourceDesc > & | shaderSources | ) |
const |
|
private |
Initialize shaders.
- Parameters
-
| shaderSources | Shader sources to initialize |
Definition at line 106 of file engine.cpp.
References cae::SPIRV.
◆ initWindow()
| void cae::Engine::initWindow |
( |
const std::string & | windowName, |
|
|
const WindowSize & | windowSize, |
|
|
const std::string & | iconPath ) const |
|
private |
Initialize the window.
- Parameters
-
| windowName | window name |
| windowSize | window size |
| iconPath | path to window icon |
Definition at line 96 of file engine.cpp.
Referenced by Engine().
◆ operator=() [1/2]
◆ operator=() [2/2]
◆ render()
| void cae::Engine::render |
( |
| ) |
|
◆ stop()
| void cae::Engine::stop |
( |
| ) |
|
◆ update()
| void cae::Engine::update |
( |
std::array< float, 10 > & | fpsBuffer, |
|
|
int & | fpsIndex ) |
◆ m_audioPlugin
| std::shared_ptr<IAudio> cae::Engine::m_audioPlugin = nullptr |
|
private |
◆ m_camera
| std::unique_ptr<Camera> cae::Engine::m_camera = nullptr |
|
private |
◆ m_clock
| std::unique_ptr<utl::Clock> cae::Engine::m_clock = nullptr |
|
private |
◆ m_logFps
| bool cae::Engine::m_logFps = false |
|
private |
◆ m_networkPlugin
| std::shared_ptr<INetwork> cae::Engine::m_networkPlugin = nullptr |
|
private |
◆ m_rendererPlugin
| std::shared_ptr<IRenderer> cae::Engine::m_rendererPlugin = nullptr |
|
private |
◆ m_shaderManager
| std::unique_ptr<ShaderManager> cae::Engine::m_shaderManager = nullptr |
|
private |
◆ m_windowPlugin
| std::shared_ptr<IWindow> cae::Engine::m_windowPlugin = nullptr |
|
private |
The documentation for this class was generated from the following files: