Struct Demeter

Nested Relationships

Nested Types

Struct Documentation

struct Demeter

Public Functions

Demeter() = default
~Demeter() = default
bool Init(std::unique_ptr<SDL2> renderer, bool activateDebug = false)
inline const InputState &GetInput() const
inline const Time &GetTime() const
inline const std::unique_ptr<ShaderProgram> &GetShader() const
inline std::shared_ptr<IEntity> AddEntity(std::shared_ptr<IEntity> entity)
inline std::shared_ptr<IEntity> GetEntity(size_t index) const
inline void DeleteEntity(const std::shared_ptr<IEntity> &entity)
std::shared_ptr<Texture> AddTexture(const std::string &path)
inline void DeleteTexture(const std::string &path)
std::optional<std::shared_ptr<Object3D>> AddObject3D(const std::string &path)
inline void DeleteObject3D(const std::string &path)
inline void SetIsImGuiWindowCreated(bool isCreated)
void Run()

Main loop for the Demeter application.

This function starts the main event loop, processing SDL events and updating/drawing the application state while isRunning is true. It handles the SDL_QUIT event to terminate the loop. If OpenGL debug mode (glDebug) is enabled, it checks for and logs any OpenGL errors after each frame.

Note

This function blocks until the application is instructed to quit.

Public Members

Camera camera