diff options
author | Tyler Murphy <tylermurphy534@gmail.com> | 2022-09-21 16:49:43 -0400 |
---|---|---|
committer | Tyler Murphy <tylermurphy534@gmail.com> | 2022-09-21 16:49:43 -0400 |
commit | b1e71a70a489ee6042de216c93992c3f4d50984a (patch) | |
tree | d4d23be9f1dc102bf6a8a838a4fe736852325369 /engine/xe_render_system.hpp | |
parent | self define descriptors (diff) | |
download | minecraftvulkan-b1e71a70a489ee6042de216c93992c3f4d50984a.tar.gz minecraftvulkan-b1e71a70a489ee6042de216c93992c3f4d50984a.tar.bz2 minecraftvulkan-b1e71a70a489ee6042de216c93992c3f4d50984a.zip |
add openal lib
Diffstat (limited to 'engine/xe_render_system.hpp')
-rw-r--r-- | engine/xe_render_system.hpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/engine/xe_render_system.hpp b/engine/xe_render_system.hpp index ae68f53..a8b4145 100644 --- a/engine/xe_render_system.hpp +++ b/engine/xe_render_system.hpp @@ -36,8 +36,13 @@ class XeRenderSystem { return *this; } + Builder& setCulling(bool enabled) { + cullingEnabled = enabled; + return *this; + } + std::unique_ptr<XeRenderSystem> build() { - return std::make_unique<XeRenderSystem>(xeEngine, std::move(vert), std::move(frag), std::move(uniformBindings), std::move(imageBindings), std::move(pushCunstantDataSize)); + return std::make_unique<XeRenderSystem>(xeEngine, std::move(vert), std::move(frag), std::move(uniformBindings), std::move(imageBindings), std::move(pushCunstantDataSize), std::move(cullingEnabled)); } private: @@ -49,6 +54,8 @@ class XeRenderSystem { std::string vert; std::string frag; + bool cullingEnabled{false}; + XeEngine &xeEngine; }; @@ -58,7 +65,8 @@ class XeRenderSystem { std::string frag, std::map<uint32_t, uint32_t> uniformBindings, std::map<uint32_t, XeImage*> imageBindings, - uint32_t pushCunstantDataSize + uint32_t pushCunstantDataSize, + bool cullingEnabled ); ~XeRenderSystem(); @@ -81,7 +89,7 @@ class XeRenderSystem { void createDescriptorSets(); void updateDescriptorSet(int frameIndex, bool allocate); void createPipelineLayout(); - void createPipeline(VkRenderPass renderPass, std::string vert, std::string frag); + void createPipeline(VkRenderPass renderPass, std::string vert, std::string frag, bool cullingEnabled); bool boundPipeline{false}; bool boundDescriptor{false}; |