diff options
author | Tyler Murphy <tylermurphy534@gmail.com> | 2022-09-19 16:35:45 -0400 |
---|---|---|
committer | Tyler Murphy <tylermurphy534@gmail.com> | 2022-09-19 16:35:45 -0400 |
commit | 2f99eee7c5f0088e3c39c21a5d2efd7335953ae8 (patch) | |
tree | 210845819e39ad9df558ffa3234205e4cd14c48a /engine/xe_engine.hpp | |
parent | more recatoring, doesnt compile (diff) | |
download | minecraftvulkan-2f99eee7c5f0088e3c39c21a5d2efd7335953ae8.tar.gz minecraftvulkan-2f99eee7c5f0088e3c39c21a5d2efd7335953ae8.tar.bz2 minecraftvulkan-2f99eee7c5f0088e3c39c21a5d2efd7335953ae8.zip |
even more refactoring
Diffstat (limited to 'engine/xe_engine.hpp')
-rw-r--r-- | engine/xe_engine.hpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/engine/xe_engine.hpp b/engine/xe_engine.hpp index 7beb962..d9f79ca 100644 --- a/engine/xe_engine.hpp +++ b/engine/xe_engine.hpp @@ -6,6 +6,7 @@ #include "xe_render_system.hpp" #include "xe_descriptors.hpp" +#include <string> namespace xe { class XeEngine { @@ -26,8 +27,28 @@ class XeEngine { return xeRenderer; }; + XeCamera& getCamera() { + return xeCamera; + }; + std::unique_ptr<XeRenderSystem> createRenderSystem(const std::string &vert, const std::string &frag, uint32_t pushCunstantDataSize, uint32_t uniformBufferDataSize); + std::shared_ptr<XeModel> createModel(const std::string &filename); + + bool beginFrame() { return xeRenderer.beginFrame(); } + + void endFrame() { return xeRenderer.endFrame(); } + + void render( + XeRenderSystem& xeRenderSystem, + std::vector<XeGameObject>& gameObjects, + void* pushConstantData, + uint32_t pushConstantSize, + void* uniformBufferData, + uint32_t uniformBufferSize); + + void close() { vkDeviceWaitIdle(xeDevice.device()); } + private: void loadDescriptors(); @@ -35,6 +56,7 @@ class XeEngine { XeWindow xeWindow; XeDevice xeDevice; XeRenderer xeRenderer; + XeCamera xeCamera; std::unique_ptr<XeDescriptorPool> xeDescriptorPool; std::unique_ptr<XeDescriptorSetLayout> xeDescriptorSetLayout; |