28 lines
697 B
C++
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;
|
|
};
|
|
} |