33 [[nodiscard]] std::string
getName()
const override {
return "Vulkan"; }
48 void createMesh(
const std::vector<float> &vertices)
override {}
This file contains the Renderer abstract class.
Abstract class for renderer.
Class for the Vulkan plugin.
void draw(const WindowSize &windowSize, const ShaderID &shaderId, glm::mat4 mvp) override
Draw the scene using the specified shader and window size.
void createMesh(const std::vector< float > &vertices) override
Create a mesh with the given vertex data.
void initialize(const NativeWindowHandle &nativeWindowHandle, const Color &clearColor) override
Initialize the renderer with a native window handle and clear color.
VULKN(const VULKN &)=delete
~VULKN() override=default
utl::PluginType getType() const override
Get the type of the plugin.
void setVSyncEnabled(bool enabled) override
Enable or disable VSync.
std::string getName() const override
Get the name of the plugin.
VULKN & operator=(const VULKN &)=delete
VULKN & operator=(VULKN &&)=delete
utl::PluginPlatform getPlatform() const override
Get the handled platform of the plugin.
void setClearColor(const Color &color) override
Set the clear color.
void createPipeline(const ShaderID &id, const ShaderIRModule &vertex, const ShaderIRModule &fragment) override
Create a rendering pipeline with vertex and fragment shaders.
bool isVSyncEnabled() const override
Check if VSync is enabled.
Struct for native window handle.
Struct for shader intermediate representation module.