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.cpp | |
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.cpp')
-rw-r--r-- | engine/xe_render_system.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/engine/xe_render_system.cpp b/engine/xe_render_system.cpp index 0158e34..1e638ad 100644 --- a/engine/xe_render_system.cpp +++ b/engine/xe_render_system.cpp @@ -22,7 +22,8 @@ XeRenderSystem::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 ) : xeDevice{xeEngine.xeDevice}, xeRenderer{xeEngine.xeRenderer}, xeDescriptorPool{xeEngine.xeDescriptorPool}, @@ -34,7 +35,7 @@ XeRenderSystem::XeRenderSystem( createUniformBuffers(); createDescriptorSets(); createPipelineLayout(); - createPipeline(xeRenderer.getSwapChainRenderPass(), vert, frag); + createPipeline(xeRenderer.getSwapChainRenderPass(), vert, frag, cullingEnabled); } @@ -163,11 +164,14 @@ void XeRenderSystem::createPipelineLayout() { } -void XeRenderSystem::createPipeline(VkRenderPass renderPass, std::string vert, std::string frag) { +void XeRenderSystem::createPipeline(VkRenderPass renderPass, std::string vert, std::string frag, bool cullingEnabled) { assert(pipelineLayout != nullptr && "Cannot create pipeline before pipeline layout"); PipelineConfigInfo pipelineConfig{}; XePipeline::defaultPipelineConfigInfo(pipelineConfig); + if (cullingEnabled) { + pipelineConfig.rasterizationInfo.cullMode = VK_CULL_MODE_BACK_BIT; + } pipelineConfig.renderPass = renderPass; pipelineConfig.pipelineLayout = pipelineLayout; xePipeline = std::make_unique<XePipeline>( |