6#ifndef INCLUDE_VULKANENGINE_MESHBASE_H_
7#define INCLUDE_VULKANENGINE_MESHBASE_H_
9#include <VulkanEngine/BoundingBox.h>
10#include <VulkanEngine/Shader.h>
27 virtual const vk::PipelineVertexInputStateCreateInfo&
32 virtual const vk::PipelineInputAssemblyStateCreateInfo&
41 const vk::CommandBuffer& command_buffer =
nullptr) = 0;
53 virtual void draw(
const vk::CommandBuffer& command_buffer) = 0;
55 template <
typename PositionType>
Base class for Mesh specializations.
Definition: MeshBase.h:17
virtual void transferBuffers(const vk::CommandBuffer &command_buffer=nullptr)=0
virtual void draw(const vk::CommandBuffer &command_buffer)=0
std::shared_ptr< BoundingBoxBase > bounding_box
The Mesh's bounding box.
Definition: MeshBase.h:62
virtual const vk::PipelineInputAssemblyStateCreateInfo & createVkPipelineInputAssemblyStateCreateInfo()=0
~MeshBase()
Destructor.
Definition: MeshBase.cpp:28
virtual void bindVertexBuffers(const vk::CommandBuffer &command_buffer)=0
virtual void bindIndexBuffer(const vk::CommandBuffer &command_buffer)=0
virtual const vk::PipelineVertexInputStateCreateInfo & createVkPipelineVertexInputStateCreateInfo()=0
MeshBase()
Constructor.
Definition: MeshBase.cpp:26
TODO development of this class is in progress.
Definition: Attribute.h:13
Definition: BoundingBox.h:15