Skip to content
Snippets Groups Projects

Resolve "Refactor Pipeline Config and Manager"

Merged Mark Oliver Mints requested to merge 71-refactor-pipeline-config-and-manager into develop
2 files
+ 36
7
Compare changes
  • Side-by-side
  • Inline
Files
2
  • bd79dfe9
    [#71] Refactor: implement a create function for Pipeline Vertex Input State Create Info Struct · bd79dfe9
    Mark Oliver Mints authored
@@ -246,13 +246,9 @@ namespace vkcv
fillVertexInputDescription(vertexAttributeDescriptions, vertexBindingDescriptions, existsVertexShader, config);
// Handover Containers to PipelineVertexInputStateCreateIngo Struct
vk::PipelineVertexInputStateCreateInfo pipelineVertexInputStateCreateInfo(
{},
vertexBindingDescriptions.size(),
vertexBindingDescriptions.data(),
vertexAttributeDescriptions.size(),
vertexAttributeDescriptions.data()
);
vk::PipelineVertexInputStateCreateInfo pipelineVertexInputStateCreateInfo =
createPipelineVertexInputStateCreateInfo(vertexAttributeDescriptions,
vertexBindingDescriptions);
// input assembly state
vk::PipelineInputAssemblyStateCreateInfo pipelineInputAssemblyStateCreateInfo(
@@ -543,6 +539,13 @@ namespace vkcv
return m_Device.createShaderModule(&moduleInfo, nullptr, &module);
}
/**
* Fills Vertex Attribute and Binding Description with the corresponding objects form the Vertex Layout.
* @param vertexAttributeDescriptions
* @param vertexBindingDescriptions
* @param existsVertexShader
* @param config
*/
void PipelineManager::fillVertexInputDescription(
std::vector<vk::VertexInputAttributeDescription> &vertexAttributeDescriptions,
std::vector<vk::VertexInputBindingDescription> &vertexBindingDescriptions,
@@ -570,4 +573,24 @@ namespace vkcv
}
}
}
/**
* Create a Pipeline Vertex Input State Create Info Struct and fills it with Attribute and Binding data.
* @param vertexAttributeDescriptions
* @param vertexBindingDescriptions
* @return Pipeline Vertex Input State Create Info Struct
*/
vk::PipelineVertexInputStateCreateInfo PipelineManager::createPipelineVertexInputStateCreateInfo(
std::vector<vk::VertexInputAttributeDescription> &vertexAttributeDescriptions,
std::vector<vk::VertexInputBindingDescription> &vertexBindingDescriptions) {
vk::PipelineVertexInputStateCreateInfo pipelineVertexInputStateCreateInfo(
{},
vertexBindingDescriptions.size(),
vertexBindingDescriptions.data(),
vertexAttributeDescriptions.size(),
vertexAttributeDescriptions.data()
);
return pipelineVertexInputStateCreateInfo;
}
}
Loading