You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
962 B
36 lines
962 B
#include "vulkan/vertex.hpp"
|
|
|
|
VkVertexInputBindingDescription Vertex::getBindingDescription() {
|
|
VkVertexInputBindingDescription bindingDescription {};
|
|
bindingDescription.binding = 0;
|
|
bindingDescription.stride = sizeof(Vertex);
|
|
bindingDescription.inputRate = VK_VERTEX_INPUT_RATE_VERTEX;
|
|
return bindingDescription;
|
|
}
|
|
|
|
std::vector<VkVertexInputAttributeDescription> Vertex::getAttributeDescriptions() {
|
|
std::vector<VkVertexInputAttributeDescription> attributeDescriptions(3);
|
|
|
|
attributeDescriptions[0] = {
|
|
.location = 0,
|
|
.binding = 0,
|
|
.format = VK_FORMAT_R32G32B32_SFLOAT,
|
|
.offset = offsetof(Vertex, position),
|
|
};
|
|
|
|
attributeDescriptions[1] = {
|
|
.location = 1,
|
|
.binding = 0,
|
|
.format = VK_FORMAT_R32G32B32_SFLOAT,
|
|
.offset = offsetof(Vertex, uv),
|
|
};
|
|
|
|
attributeDescriptions[2] = {
|
|
.location = 2,
|
|
.binding = 0,
|
|
.format = VK_FORMAT_R32G32B32_SFLOAT,
|
|
.offset = offsetof(Vertex, normal),
|
|
};
|
|
|
|
return attributeDescriptions;
|
|
}
|
|
|