Orange/include/Orange/Render/ForwardRenderer.h

28 lines
697 B
C++

#pragma once
#include <Orange/Core/Result.h>
#include <Orange/Render/Renderer.h>
namespace orange
{
class ForwardRenderer : public Renderer
{
public:
~ForwardRenderer() = default;
static Result<ForwardRenderer> create(SDL_Window* window, const char* name)
{
Result<ForwardRenderer> result;
ForwardRenderer& renderer = result.Create();
if ((renderer.m_instance = createInstance(window, name)) == VK_NULL_HANDLE)
return result.Error(BasicErrorCode::Failed);
return result.Success();
}
protected:
friend Result<ForwardRenderer>;
ForwardRenderer() = default;
};
}