Interface for renderer.
More...
#include <IRenderer.hpp>
Interface for renderer.
Definition at line 35 of file IRenderer.hpp.
◆ ~IRenderer()
| cae::IRenderer::~IRenderer |
( |
| ) |
|
|
overridedefault |
◆ createMesh()
| virtual void cae::IRenderer::createMesh |
( |
const std::vector< float > & | vertices | ) |
|
|
pure virtual |
Create a mesh with the given vertex data.
- Parameters
-
| vertices | Vertex data to create the mesh |
Implemented in cae::OPGL, and cae::VULKN.
◆ createPipeline()
Create a rendering pipeline with vertex and fragment shaders.
- Parameters
-
| id | Shader ID |
| vertex | Vertex shader IR module |
| fragment | Fragment shader IR module |
Implemented in cae::OPGL, and cae::VULKN.
◆ draw()
| virtual void cae::IRenderer::draw |
( |
const WindowSize & | windowSize, |
|
|
const ShaderID & | shaderId, |
|
|
glm::mat4 | mvp ) |
|
pure virtual |
Draw the scene using the specified shader and window size.
- Parameters
-
| windowSize | Current window size |
| shaderId | Shader ID to use for drawing |
| mvp | Model-View-Projection matrix |
Implemented in cae::OPGL, and cae::VULKN.
◆ initialize()
| virtual void cae::IRenderer::initialize |
( |
const NativeWindowHandle & | nativeWindowHandle, |
|
|
const Color & | clearColor = {.r=1.F,.g=1.F,.b=1.F,.a=1.F} ) |
|
pure virtual |
Initialize the renderer with a native window handle and clear color.
- Parameters
-
| nativeWindowHandle | Native window handle |
| clearColor | Clear color (default: white) |
Implemented in cae::OPGL, and cae::VULKN.
References cae::Color::r.
◆ isVSyncEnabled()
| virtual bool cae::IRenderer::isVSyncEnabled |
( |
| ) |
const |
|
nodiscardpure virtual |
Check if VSync is enabled.
- Returns
- Whether VSync is enabled
Implemented in cae::OPGL, and cae::VULKN.
◆ setClearColor()
| virtual void cae::IRenderer::setClearColor |
( |
const Color & | color | ) |
|
|
pure virtual |
◆ setVSyncEnabled()
| virtual void cae::IRenderer::setVSyncEnabled |
( |
bool | enabled | ) |
|
|
pure virtual |
Enable or disable VSync.
- Parameters
-
| enabled | Whether VSync is enabled |
Implemented in cae::OPGL, and cae::VULKN.
The documentation for this interface was generated from the following file: