You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
742 B
38 lines
742 B
#ifndef SCENE_H |
|
#define SCENE_H |
|
|
|
#include <cstdint> // uint32_t |
|
#include <memory> // std::shared_ptr |
|
|
|
#include "entt/entity/registry.hpp" // entt::entity, entt::registry |
|
#include "glm/ext/matrix_float4x4.hpp" // glm::mat4 |
|
|
|
namespace Inferno { |
|
|
|
class Camera; |
|
class Entity; |
|
class Texture; |
|
|
|
class Scene { |
|
public: |
|
void initialize(); |
|
void update(float deltaTime); |
|
void render(); |
|
void destroy(); |
|
|
|
Entity createEntity(const std::string& name = ""); |
|
Entity createEntity(entt::entity handle); |
|
Entity createEntity(uint32_t handle); |
|
|
|
glm::mat4 cameraProjectionView(); |
|
|
|
private: |
|
std::shared_ptr<Texture> m_texture; |
|
std::shared_ptr<Texture> m_texture2; |
|
|
|
std::shared_ptr<entt::registry> m_registry; |
|
}; |
|
|
|
} |
|
|
|
#endif // SCENE_H
|
|
|