A class with static routines relevant for rendering a scene using RendererAPI.
More...
#include <RenderCommand.h>
|
| static void | Init () |
| | Initializing RenderCommand by creating the instance of appropriate RendererAPI Called in the main function at the moment.
|
| |
| static void | DeInit () |
| | Deinitialize RenderCommand by freeing up rendering resources.
|
| |
| static void | SetClearColor (const glm::vec4 &color) |
| | Sets the background color of the screen.
|
| |
| static void | Clear () |
| | Clears the rendering screen.
|
| |
| static void | BeginScene () |
| | Setting up resources for rendering of a scene.
|
| |
| static void | DrawIndexed (const std::shared_ptr< VertexArray > &vertexArray) |
| | Actually issue a draw call of primitives with indexed vertices.
|
| |
| static void | EndScene () |
| | The clearing of resources, if any, at the end of frame.
|
| |
| static glm::vec4 & | GetClearColor () |
| | Getter for the set clear color.
|
| |
| static RendererAPI * | GetRendererAPI () |
| | Getter for the renderer API.
|
| |
A class with static routines relevant for rendering a scene using RendererAPI.
◆ BeginScene()
| static void Karma::RenderCommand::BeginScene |
( |
| ) |
|
|
inlinestatic |
Setting up resources for rendering of a scene.
Usually the sequence for rendering frame goes like
KR_INFO(
"DeltaTime = {0} ms", deltaTime * 1000.0f);
m_SquareVA->UpdateProcessAndSetReadyForSubmission();
m_SquareVA->Bind();
#define KR_INFO(...)
A macro for logging information in the Client part.
Definition Log.h:117
static void Clear()
Clears the rendering screen.
Definition RenderCommand.h:58
static void SetClearColor(const glm::vec4 &color)
Sets the background color of the screen.
Definition RenderCommand.h:45
static void EndScene()
The clearing of resources, if any, at the end of frame.
Definition Renderer.cpp:12
static void BeginScene(std::shared_ptr< Scene > scene)
Setting up resources for rendering of a scene.
Definition Renderer.cpp:7
static void Submit(std::shared_ptr< Scene > scene)
Submitting a scene for rendering.
Definition Renderer.cpp:17
- Since
- Karma 1.0.0
◆ Clear()
| static void Karma::RenderCommand::Clear |
( |
| ) |
|
|
inlinestatic |
Clears the rendering screen.
- Todo
- Seems like VulkanRendererAPI is not using this function call for clearing.
- Since
- Karma 1.0.0
◆ DeInit()
| void Karma::RenderCommand::DeInit |
( |
| ) |
|
|
static |
Deinitialize RenderCommand by freeing up rendering resources.
- Since
- Karma 1.0.0
◆ DrawIndexed()
| static void Karma::RenderCommand::DrawIndexed |
( |
const std::shared_ptr< VertexArray > & | vertexArray | ) |
|
|
inlinestatic |
Actually issue a draw call of primitives with indexed vertices.
For OpenGL the command is glDrawElements For Vulkan the command is vkCmdDrawIndexed
- Parameters
-
| vertexArray | The mesh + material to be rendered |
- Since
- Karma 1.0.0
◆ EndScene()
| static void Karma::RenderCommand::EndScene |
( |
| ) |
|
|
inlinestatic |
The clearing of resources, if any, at the end of frame.
- Since
- Karma 1.0.0
◆ GetClearColor()
| static glm::vec4 & Karma::RenderCommand::GetClearColor |
( |
| ) |
|
|
inlinestatic |
Getter for the set clear color.
- Since
- Karma 1.0.0
◆ GetRendererAPI()
| static RendererAPI * Karma::RenderCommand::GetRendererAPI |
( |
| ) |
|
|
inlinestatic |
Getter for the renderer API.
- Since
- Karma 1.0.0
◆ Init()
| void Karma::RenderCommand::Init |
( |
| ) |
|
|
static |
◆ SetClearColor()
| static void Karma::RenderCommand::SetClearColor |
( |
const glm::vec4 & | color | ) |
|
|
inlinestatic |
Sets the background color of the screen.
- Since
- Karma 1.0.0
The documentation for this class was generated from the following files:
- Karma/src/Karma/Renderer/RenderCommand.h
- Karma/src/Karma/Renderer/RenderCommand.cpp