diff options
Diffstat (limited to 'src/Rendering')
| -rw-r--r-- | src/Rendering/IndexBuffer.cpp | 3 | ||||
| -rw-r--r-- | src/Rendering/Renderer.cpp | 3 | ||||
| -rw-r--r-- | src/Rendering/Shader.cpp | 7 | ||||
| -rw-r--r-- | src/Rendering/Texture.cpp | 5 | ||||
| -rw-r--r-- | src/Rendering/VertexArray.cpp | 3 | ||||
| -rw-r--r-- | src/Rendering/VertexBuffer.cpp | 5 |
6 files changed, 25 insertions, 1 deletions
diff --git a/src/Rendering/IndexBuffer.cpp b/src/Rendering/IndexBuffer.cpp index de9cb87..185684b 100644 --- a/src/Rendering/IndexBuffer.cpp +++ b/src/Rendering/IndexBuffer.cpp @@ -2,6 +2,7 @@ #include "Renderer.h" #include "Platform/OpenGL/OpenGLIndexBuffer.h" +#include "Platform/Vulkan/VulkanIndexBuffer.h" namespace Donut { @@ -11,6 +12,8 @@ namespace Donut { case RendererAPI::API::OpenGL: return new OpenGLIndexBuffer(indices, count); + case RendererAPI::API::Vulkan: + return new VulkanIndexBuffer((uint32_t*)indices, count); default: return nullptr; } diff --git a/src/Rendering/Renderer.cpp b/src/Rendering/Renderer.cpp index 9aa3dd3..4f61619 100644 --- a/src/Rendering/Renderer.cpp +++ b/src/Rendering/Renderer.cpp @@ -1,5 +1,6 @@ #include "Renderer.h" #include "Platform/OpenGL/OpenGLRendererAPI.h" +#include "Platform/Vulkan/VulkanRendererAPI.h" #include <memory> #include <glm/gtc/matrix_transform.hpp> @@ -11,6 +12,8 @@ namespace Donut { case API::OpenGL: return std::make_unique<OpenGLRendererAPI>(); + case API::Vulkan: + return std::make_unique<VulkanRendererAPI>(); default: return nullptr; } diff --git a/src/Rendering/Shader.cpp b/src/Rendering/Shader.cpp index a791c98..e38ce65 100644 --- a/src/Rendering/Shader.cpp +++ b/src/Rendering/Shader.cpp @@ -1,6 +1,7 @@ #include "Shader.h" #include "Renderer.h" #include "Platform/OpenGL/OpenGLShader.h" +#include "Platform/Vulkan/VulkanShader.h" #include <memory> namespace Donut @@ -11,6 +12,8 @@ namespace Donut { case RendererAPI::API::OpenGL: return new OpenGLShader(filepath); + case RendererAPI::API::Vulkan: + return new VulkanShader(filepath); default: return nullptr; } @@ -22,6 +25,8 @@ namespace Donut { case RendererAPI::API::OpenGL: return new OpenGLShader(name, vertexSrc, fragmentSrc); + case RendererAPI::API::Vulkan: + return new VulkanShader(name, vertexSrc, fragmentSrc); default: return nullptr; } @@ -33,6 +38,8 @@ namespace Donut { case RendererAPI::API::OpenGL: return new OpenGLShader(name, computeSrc); + case RendererAPI::API::Vulkan: + return new VulkanShader(name, computeSrc); default: return nullptr; } diff --git a/src/Rendering/Texture.cpp b/src/Rendering/Texture.cpp index a52a469..3a86dba 100644 --- a/src/Rendering/Texture.cpp +++ b/src/Rendering/Texture.cpp @@ -1,6 +1,7 @@ #include "Texture.h" #include "Renderer.h" #include "../Platform/OpenGL/OpenGLTexture.h" +#include "../Platform/Vulkan/VulkanTexture.h" namespace Donut { @@ -10,6 +11,8 @@ namespace Donut { case RendererAPI::API::OpenGL: return std::make_shared<OpenGLTexture2D>(width, height); + case RendererAPI::API::Vulkan: + return std::make_shared<VulkanTexture2D>(width, height); case RendererAPI::API::None: return nullptr; default: @@ -23,6 +26,8 @@ namespace Donut { case RendererAPI::API::OpenGL: return std::make_shared<OpenGLTexture2D>(path); + case RendererAPI::API::Vulkan: + return std::make_shared<VulkanTexture2D>(path); case RendererAPI::API::None: return nullptr; default: diff --git a/src/Rendering/VertexArray.cpp b/src/Rendering/VertexArray.cpp index 87db8fb..2b2549c 100644 --- a/src/Rendering/VertexArray.cpp +++ b/src/Rendering/VertexArray.cpp @@ -1,6 +1,7 @@ #include "VertexArray.h" #include "Renderer.h" #include "Platform/OpenGL/OpenGLVertexArray.h" +#include "Platform/Vulkan/VulkanVertexArray.h" namespace Donut { @@ -21,6 +22,8 @@ namespace Donut { case RendererAPI::API::OpenGL: return new OpenGLVertexArray(); + case RendererAPI::API::Vulkan: + return new VulkanVertexArray(); default: return nullptr; } diff --git a/src/Rendering/VertexBuffer.cpp b/src/Rendering/VertexBuffer.cpp index bd9c0f9..57b4d87 100644 --- a/src/Rendering/VertexBuffer.cpp +++ b/src/Rendering/VertexBuffer.cpp @@ -1,15 +1,18 @@ #include "VertexBuffer.h" #include "Renderer.h" #include "Platform/OpenGL/OpenGLVertexBuffer.h" +#include "Platform/Vulkan/VulkanVertexBuffer.h" namespace Donut { - VertexBuffer* VertexBuffer::Create(const void* data, uint32_t size) + VertexBuffer* VertexBuffer::Create(const void* data, uint32_t size) { switch (Renderer::GetAPI()) { case RendererAPI::API::OpenGL: return new OpenGLVertexBuffer(data, size); + case RendererAPI::API::Vulkan: + return new VulkanVertexBuffer((float*)data, size); default: return nullptr; } |
