VulkanEngine 0.1
Graphics engine using Vulkan
Loading...
Searching...
No Matches
Attribute.h
1// Copyright (c) 2024 Michael Carlie. All Rights Reserved.
2//
3// This software is released under the MIT License.
4// https://opensource.org/licenses/MIT
5
6#ifndef INCLUDE_VULKANENGINE_ATTRIBUTE_H_
7#define INCLUDE_VULKANENGINE_ATTRIBUTE_H_
8
9#include <VulkanEngine/StagedBuffer.h>
10
11#include <vulkan/vulkan.hpp>
12
13namespace VulkanEngine {
14
16class Attribute : public StagedBuffer<Buffer> {
17 public:
22 Attribute(size_t _num_elements, size_t _element_size,
23 vk::BufferUsageFlags flags);
24
26 ~Attribute();
27
29 size_t getNumElements() const;
30
31 protected:
34
37};
38
39} // namespace VulkanEngine
40
41#endif // INCLUDE_VULKANENGINE_ATTRIBUTE_H_
Abstract base class for shader attributes.
Definition: Attribute.h:16
size_t getNumElements() const
Definition: Attribute.cpp:34
size_t num_elements
The number of elements in this attribute.
Definition: Attribute.h:33
size_t element_size
The data size of the elements which this attribute is represented by.
Definition: Attribute.h:36
~Attribute()
Destructor.
Definition: Attribute.cpp:32
Definition: StagedBuffer.h:23
TODO development of this class is in progress.
Definition: Attribute.h:13