13 struct CircleRendererComponent;
14 struct SpriteRendererComponent;
16 namespace Renderer2D {
40 void beginScene(
const glm::mat4& viewProjection);
49 void drawCircle(
const glm::mat4& transform,
const glm::vec4& color,
float thickness = 1.f,
float fade = 0.005f);
53 void drawLine(
const glm::vec3& p0,
const glm::vec3& p1,
const glm::vec4& color);
54 void drawRect(
const glm::mat4& transform,
const glm::vec4& color);
56 void fillQuad(glm::vec3 position, glm::vec2 size,
const glm::vec4& color);
57 void fillQuad(glm::vec3 position, glm::vec2 size,
const Ref<Texture>& texture,
const glm::vec4& color = { 1.f, 1.f, 1.f, 1.f });
58 void fillQuad(
const glm::mat4& transform,
const glm::vec4& color);
59 void fillQuad(
const glm::mat4& transform,
const Ref<Texture>& texture,
const glm::vec4& color = { 1.f, 1.f, 1.f, 1.f });
void drawQuad(const DrawQuadProperties &properties)
Definition: renderer2d.cpp:353
void drawSprite(const glm::mat4 &transform, const SpriteRendererComponent &src, s32 entityID)
Definition: renderer2d.cpp:285
void shutdown()
Definition: renderer2d.cpp:254
void fillQuad(glm::vec3 position, glm::vec2 size, const glm::vec4 &color)
Definition: renderer2d.cpp:453
const Statistics & getStatistics()
Definition: renderer2d.cpp:511
void beginScene(const glm::mat4 &viewProjection)
Definition: renderer2d.cpp:261
void drawRect(const glm::mat4 &transform, const glm::vec4 &color)
Definition: renderer2d.cpp:440
void drawCircle(const glm::mat4 &transform, const CircleRendererComponent &crc, s32 entityID)
Definition: renderer2d.cpp:309
void init()
Definition: renderer2d.cpp:165
void drawLine(const glm::vec3 &p0, const glm::vec3 &p1, const glm::vec4 &color)
Definition: renderer2d.cpp:418
void endScene()
Definition: renderer2d.cpp:276
int32_t s32
Definition: base.hpp:45
float f32
Definition: base.hpp:47
uint32_t u32
Definition: base.hpp:41
std::shared_ptr< T > Ref
Definition: base.hpp:32
Definition: components.hpp:70
Definition: renderer2d.hpp:28
s32 entityID
Definition: renderer2d.hpp:34
f32 thickness
Definition: renderer2d.hpp:31
const glm::vec2 * localVertexPositions
Definition: renderer2d.hpp:30
f32 fade
Definition: renderer2d.hpp:32
const glm::vec3 * vertexPositions
Definition: renderer2d.hpp:29
u32 color
Definition: renderer2d.hpp:33
Definition: renderer2d.hpp:19
const Ref< Texture > & texture
Definition: renderer2d.hpp:22
s32 entityID
Definition: renderer2d.hpp:24
const glm::vec3 * vertexPositions
Definition: renderer2d.hpp:20
u32 color
Definition: renderer2d.hpp:23
const glm::vec2 * textureCoords
Definition: renderer2d.hpp:21
Definition: renderer2d.hpp:62
u32 quadCount
Definition: renderer2d.hpp:64
u32 lineCount
Definition: renderer2d.hpp:66
u32 drawCalls
Definition: renderer2d.hpp:63
u32 circleCount
Definition: renderer2d.hpp:65
Definition: components.hpp:83