diff options
author | tylermurphy534 <tylermurphy534@gmail.com> | 2022-09-19 21:28:41 -0400 |
---|---|---|
committer | tylermurphy534 <tylermurphy534@gmail.com> | 2022-09-19 21:28:41 -0400 |
commit | 8cc0b081ef0188f850814b2af2cb077583eb9f2d (patch) | |
tree | f90ba2da50c91f596672730706440149fecb2393 /src/simple_renderer.hpp | |
parent | temp patch (diff) | |
download | minecraftvulkan-8cc0b081ef0188f850814b2af2cb077583eb9f2d.tar.gz minecraftvulkan-8cc0b081ef0188f850814b2af2cb077583eb9f2d.tar.bz2 minecraftvulkan-8cc0b081ef0188f850814b2af2cb077583eb9f2d.zip |
finish refactor
Diffstat (limited to '')
-rw-r--r-- | src/simple_renderer.hpp | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/simple_renderer.hpp b/src/simple_renderer.hpp new file mode 100644 index 0000000..22ba0b4 --- /dev/null +++ b/src/simple_renderer.hpp @@ -0,0 +1,36 @@ +#pragma once + +#include "xe_render_system.hpp" +#include <string> + +namespace app { + +struct UniformBuffer { + alignas(16) glm::mat4 projectionView{1.f}; + alignas(4) glm::vec3 lightDirection = glm::normalize(glm::vec3{-1.f, 3.f, 1.f}); +}; + +struct PushConstant { + alignas(16) glm::mat4 modelMatrix{1.f}; + alignas(16) glm::mat4 normalMatrix{1.f}; +}; + +class SimpleRenderer { + + public: + + SimpleRenderer(xe::XeEngine &xeEngine); + + ~SimpleRenderer() {}; + + SimpleRenderer(const SimpleRenderer&) = delete; + SimpleRenderer operator=(const SimpleRenderer&) = delete; + + void render(std::vector<xe::XeGameObject> &gameObjects, xe::XeCamera &xeCamera); + + private: + xe::XeRenderSystem xeRenderSystem; + +}; + +}
\ No newline at end of file |