diff options
author | tylermurphy534 <tylermurphy534@gmail.com> | 2022-09-25 12:07:49 -0400 |
---|---|---|
committer | tylermurphy534 <tylermurphy534@gmail.com> | 2022-09-25 12:07:49 -0400 |
commit | 7c1dfec94391ec283e41b6b942d08dbc6bb69a3a (patch) | |
tree | c97c50778aabe4ec40a0e543bf464278e434a939 /engine/xe_pipeline.cpp | |
parent | remove Xe From engine class names (diff) | |
download | minecraftvulkan-7c1dfec94391ec283e41b6b942d08dbc6bb69a3a.tar.gz minecraftvulkan-7c1dfec94391ec283e41b6b942d08dbc6bb69a3a.tar.bz2 minecraftvulkan-7c1dfec94391ec283e41b6b942d08dbc6bb69a3a.zip |
vertex data no longer hard coded
Diffstat (limited to 'engine/xe_pipeline.cpp')
-rwxr-xr-x | engine/xe_pipeline.cpp | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/engine/xe_pipeline.cpp b/engine/xe_pipeline.cpp index 3f407ec..633548f 100755 --- a/engine/xe_pipeline.cpp +++ b/engine/xe_pipeline.cpp @@ -16,9 +16,11 @@ namespace xe { Device &device, const std::string& vertFilepath, const std::string& fragFilepath, - const PipelineConfigInfo& configInfo) - : xeDevice{device} { - createGraphicsPipeline(vertFilepath, fragFilepath, configInfo); + const PipelineConfigInfo& configInfo, + std::vector<VkVertexInputAttributeDescription> &attributeDescptions, + uint32_t vertexSize + ) : xeDevice{device} { + createGraphicsPipeline(vertFilepath, fragFilepath, configInfo, attributeDescptions, vertexSize); } Pipeline::~Pipeline() { @@ -48,7 +50,10 @@ namespace xe { void Pipeline::createGraphicsPipeline( const std::string& vertFilePath, const std::string& fragFilepath, - const PipelineConfigInfo& configInfo) { + const PipelineConfigInfo& configInfo, + std::vector<VkVertexInputAttributeDescription> &attributeDescptions, + uint32_t vertexSize + ) { assert( configInfo.pipelineLayout != VK_NULL_HANDLE && @@ -78,8 +83,13 @@ namespace xe { shaderStages[1].pNext = nullptr; shaderStages[1].pSpecializationInfo = nullptr; - auto bindingDescriptions = Model::Vertex::getBindingDescriptions(); - auto attributeDescptions = Model::Vertex::getAttributeDescriptions(); + VkVertexInputBindingDescription bindingDescription; + bindingDescription.binding = 0; + bindingDescription.stride = vertexSize; + bindingDescription.inputRate = VK_VERTEX_INPUT_RATE_VERTEX; + + std::vector<VkVertexInputBindingDescription> bindingDescriptions{bindingDescription}; + VkPipelineVertexInputStateCreateInfo vertexInputInfo{}; vertexInputInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO; vertexInputInfo.vertexAttributeDescriptionCount = static_cast<uint32_t>(attributeDescptions.size()); |