18 return Pos == other.
Pos && Color == other.
Color && TexCoord == other.
TexCoord;
26 VkVertexInputBindingDescription bindingDescription = {};
27 bindingDescription.binding = 0;
28 bindingDescription.stride =
sizeof(
Vertex);
29 bindingDescription.inputRate = VK_VERTEX_INPUT_RATE_VERTEX;
31 return bindingDescription;
37 std::array<VkVertexInputAttributeDescription, 3> attributeDescriptions = {};
39 attributeDescriptions[0].binding = 0;
40 attributeDescriptions[0].location = 0;
41 attributeDescriptions[0].format = VK_FORMAT_R32G32B32_SFLOAT;
42 attributeDescriptions[0].offset = offsetof(
Vertex, Pos);
44 attributeDescriptions[1].binding = 0;
45 attributeDescriptions[1].location = 1;
46 attributeDescriptions[1].format = VK_FORMAT_R32G32B32_SFLOAT;
47 attributeDescriptions[1].offset = offsetof(
Vertex, Color);
49 attributeDescriptions[2].binding = 0;
50 attributeDescriptions[2].location = 2;
51 attributeDescriptions[2].format = VK_FORMAT_R32G32_SFLOAT;
52 attributeDescriptions[2].offset = offsetof(
Vertex, TexCoord);
54 return attributeDescriptions;
64 template<>
struct hash<
Fling::Vertex>
68 return ((hash<glm::vec3>()(vertex.
Pos) ^
69 (hash<glm::vec3>()(vertex.
Color) << 1)) >> 1) ^
70 (hash<glm::vec2>()(vertex.
TexCoord) << 1);
glm::vec2 TexCoord
Definition: Vertex.h:14
Basic Vertex outline for use with our vertex buffers.
Definition: Vertex.h:10
static VkVertexInputBindingDescription GetBindingDescription()
Gets the shader binding of a vertex.
Definition: Vertex.h:24
glm::vec3 Pos
Definition: Vertex.h:12
bool operator==(const Vertex &other) const
Definition: Vertex.h:16
glm::vec3 Color
Definition: Vertex.h:13
static std::array< VkVertexInputAttributeDescription, 3 > GetAttributeDescriptions()
Definition: Vertex.h:35
size_t operator()(Fling::Vertex const &vertex) const
Definition: Vertex.h:66