diff options
author | tylermurphy534 <tylermurphy534@gmail.com> | 2022-10-01 14:35:16 -0400 |
---|---|---|
committer | tylermurphy534 <tylermurphy534@gmail.com> | 2022-10-01 14:35:16 -0400 |
commit | 6a001c4840140e71ba1672a4576d52d1a62c0922 (patch) | |
tree | 8b3ebdbb7e2580ca5de14dca895a779553026c6f /src/chunk_renderer.hpp | |
parent | variable chunk sizes (diff) | |
download | minecraftvulkan-6a001c4840140e71ba1672a4576d52d1a62c0922.tar.gz minecraftvulkan-6a001c4840140e71ba1672a4576d52d1a62c0922.tar.bz2 minecraftvulkan-6a001c4840140e71ba1672a4576d52d1a62c0922.zip |
rename src files, move .o to /bin
Diffstat (limited to 'src/chunk_renderer.hpp')
-rw-r--r-- | src/chunk_renderer.hpp | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/chunk_renderer.hpp b/src/chunk_renderer.hpp new file mode 100644 index 0000000..e539f29 --- /dev/null +++ b/src/chunk_renderer.hpp @@ -0,0 +1,37 @@ +#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 ChunkRenderer { + + public: + + ChunkRenderer(std::vector<xe::Image*> &images); + + ~ChunkRenderer() {}; + + ChunkRenderer(const ChunkRenderer&) = delete; + ChunkRenderer operator=(const ChunkRenderer&) = delete; + + void render(std::vector<xe::GameObject> &gameObjects, xe::Camera &xeCamera); + + private: + std::unique_ptr<xe::RenderSystem> xeRenderSystem; + +}; + +}
\ No newline at end of file |