vengine  0.1.0
3D graphics engine made with Vulkan
Loading...
Searching...
No Matches
ven::Engine Class Reference

#include <Engine.hpp>

+ Collaboration diagram for ven::Engine:

Public Member Functions

 Engine (uint32_t=DEFAULT_WIDTH, uint32_t=DEFAULT_HEIGHT, const std::string &title=DEFAULT_TITLE.data())
 
 ~Engine ()=default
 
 Engine (const Engine &)=delete
 
Engine operator= (const Engine &)=delete
 
WindowgetWindow ()
 
void mainLoop ()
 

Private Member Functions

void loadObjects ()
 
void createInstance ()
 
void createSurface ()
 

Private Attributes

Window m_window
 
Device m_device {m_window}
 
Renderer m_renderer {m_window, m_device}
 
std::unique_ptr< DescriptorPoolm_globalPool
 
Object::Map m_objects
 
VkInstance m_instance {nullptr}
 
VkSurfaceKHR m_surface {nullptr}
 

Detailed Description

Definition at line 20 of file Engine.hpp.

Constructor & Destructor Documentation

◆ Engine() [1/2]

ven::Engine::Engine ( uint32_t width = DEFAULT_WIDTH,
uint32_t height = DEFAULT_HEIGHT,
const std::string & title = DEFAULT_TITLE.data() )
explicit

◆ ~Engine()

ven::Engine::~Engine ( )
default

◆ Engine() [2/2]

ven::Engine::Engine ( const Engine & )
delete

Member Function Documentation

◆ createInstance()

void ven::Engine::createInstance ( )
private

Definition at line 133 of file engine.cpp.

Referenced by Engine().

+ Here is the caller graph for this function:

◆ createSurface()

void ven::Engine::createSurface ( )
inlineprivate

Definition at line 49 of file Engine.hpp.

References ven::Window::getGLFWindow(), m_instance, m_surface, and m_window.

Referenced by Engine().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getWindow()

Window & ven::Engine::getWindow ( )
inline

Definition at line 30 of file Engine.hpp.

References m_window.

◆ loadObjects()

void ven::Engine::loadObjects ( )
private

◆ mainLoop()

◆ operator=()

Engine ven::Engine::operator= ( const Engine & )
delete

Member Data Documentation

◆ m_device

Device ven::Engine::m_device {m_window}
private

Definition at line 39 of file Engine.hpp.

Referenced by Engine(), and loadObjects().

◆ m_globalPool

std::unique_ptr<DescriptorPool> ven::Engine::m_globalPool
private

Definition at line 42 of file Engine.hpp.

Referenced by Engine().

◆ m_instance

VkInstance ven::Engine::m_instance {nullptr}
private

Definition at line 45 of file Engine.hpp.

Referenced by createSurface().

◆ m_objects

Object::Map ven::Engine::m_objects
private

Definition at line 43 of file Engine.hpp.

Referenced by loadObjects().

◆ m_renderer

Renderer ven::Engine::m_renderer {m_window, m_device}
private

Definition at line 40 of file Engine.hpp.

◆ m_surface

VkSurfaceKHR ven::Engine::m_surface {nullptr}
private

Definition at line 46 of file Engine.hpp.

Referenced by createSurface().

◆ m_window

Window ven::Engine::m_window
private

Definition at line 38 of file Engine.hpp.

Referenced by createSurface(), and getWindow().


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