Add vertex buffer step mode config
This commit is contained in:
@@ -12,6 +12,8 @@
|
||||
|
||||
namespace OpenVulkano
|
||||
{
|
||||
enum class VertexStepMode : uint32_t { VERTEX = 0, INSTANCE };
|
||||
|
||||
struct VertexInputParameter
|
||||
{
|
||||
uint32_t location;
|
||||
@@ -32,13 +34,16 @@ namespace OpenVulkano
|
||||
{
|
||||
uint32_t bindingId;
|
||||
uint32_t vertexSize;
|
||||
VertexStepMode stepMode = VertexStepMode::VERTEX;
|
||||
std::vector<VertexInputParameter> inputParameters;
|
||||
|
||||
VertexInputDescription(uint32_t bindingId, uint32_t vertexSize) : bindingId(bindingId), vertexSize(vertexSize)
|
||||
{}
|
||||
|
||||
VertexInputDescription(uint32_t bindingId, const VertexInputDescription& vertexDescription)
|
||||
: bindingId(bindingId), vertexSize(vertexDescription.vertexSize), inputParameters(vertexDescription.inputParameters)
|
||||
: bindingId(bindingId), vertexSize(vertexDescription.vertexSize)
|
||||
, stepMode(vertexDescription.stepMode)
|
||||
, inputParameters(vertexDescription.inputParameters)
|
||||
{
|
||||
for (auto& param : inputParameters)
|
||||
{
|
||||
|
||||
@@ -54,7 +54,7 @@ namespace OpenVulkano::Vulkan
|
||||
|
||||
for(const auto& description : shader->vertexInputDescriptions)
|
||||
{
|
||||
vertexBindDesc.emplace_back(description.bindingId, description.vertexSize, vk::VertexInputRate::eVertex);
|
||||
vertexBindDesc.emplace_back(description.bindingId, description.vertexSize, static_cast<vk::VertexInputRate>(description.stepMode));
|
||||
if (shader->vertexInputDescriptions.size() > 1)
|
||||
{
|
||||
for(const auto& param : description.inputParameters)
|
||||
|
||||
Reference in New Issue
Block a user