Cleanup Renderer
This commit is contained in:
@@ -21,7 +21,7 @@ namespace Copium
|
||||
|
||||
void IndexBuffer::Draw(const CommandBuffer& commandBuffer, int indices)
|
||||
{
|
||||
CP_ASSERT(indices >= 0 && indices < indexCount, "Draw : amount of indices is out of range");
|
||||
CP_ASSERT(indices > 0 && indices <= indexCount, "Draw : amount of indices is out of range");
|
||||
vkCmdDrawIndexed(commandBuffer, indices, 1, 0, 0, 0);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
#include "copium/buffer/RendererVertexBuffer.h"
|
||||
|
||||
#include "copium/core/SwapChain.h"
|
||||
|
||||
namespace Copium
|
||||
{
|
||||
|
||||
RendererVertexBuffer::RendererVertexBuffer(Vulkan& vulkan, const VertexDescriptor& descriptor, int vertexCount)
|
||||
: Buffer{vulkan, VK_BUFFER_USAGE_VERTEX_BUFFER_BIT, VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT, descriptor.GetVertexSize() * vertexCount, SwapChain::MAX_FRAMES_IN_FLIGHT}
|
||||
{}
|
||||
|
||||
void RendererVertexBuffer::Bind(const CommandBuffer& commandBuffer)
|
||||
{
|
||||
VkDeviceSize offset = GetPosition(vulkan.GetSwapChain().GetFlightIndex());
|
||||
vkCmdBindVertexBuffers(commandBuffer, 0, 1, &handle, &offset);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
#pragma once
|
||||
|
||||
#include "copium/buffer/Buffer.h"
|
||||
#include "copium/buffer/CommandBuffer.h"
|
||||
#include "copium/core/Vulkan.h"
|
||||
#include "copium/pipeline/VertexDescriptor.h"
|
||||
|
||||
namespace Copium
|
||||
{
|
||||
class RendererVertexBuffer : public Buffer
|
||||
{
|
||||
CP_DELETE_COPY_AND_MOVE_CTOR(RendererVertexBuffer);
|
||||
public:
|
||||
RendererVertexBuffer(Vulkan& vulkan, const VertexDescriptor& descriptor, int vertexCount);
|
||||
|
||||
void Bind(const CommandBuffer& commandBuffer);
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user