Rendering Engine
0.2.9
Modular Graphics Rendering Engine | v0.2.9
sprite_2d.hpp
Go to the documentation of this file.
1
// This file is part of the Rendering Engine project.
2
// Author: Alexander Obzherin <alexanderobzherin@gmail.com>
3
// Copyright (c) 2026 Alexander Obzherin
4
// Distributed under the terms of the zlib License. See LICENSE.md for details.
5
6
#pragma once
7
8
#include "
rendering_engine_export.hpp
"
9
#include "
drawable_2d.hpp
"
10
11
namespace
rendering_engine
12
{
13
class
Scene;
14
/**
15
* @class Sprite2D
16
* @brief 2D drawable component for rendering textured quad.
17
*
18
* @note Not copyable or assignable.
19
* @see Quad2D, Drawable2D, DrawableComponent, SceneComponent2D, Camera2D
20
*/
21
class
RE_API
Sprite2D
:
public
Drawable2D
22
{
23
public
:
24
/**
25
* @brief Constructs the Sprite2D with a render context.
26
* @param renderContext Resource context.
27
*
28
*/
29
Sprite2D
(
RenderResourceContext
renderContext,
Scene
& scene, std::string textureName);
30
31
/**
32
* @copydoc DrawableComponent::Initialize
33
*/
34
void
Initialize()
override
;
35
36
/**
37
* @copydoc DrawableComponent::Update
38
*/
39
void
Update(
float
deltaTime)
override
;
40
41
/**
42
* @copydoc Drawable2D::Draw
43
*/
44
void
Draw(
const
Camera2D
& camera)
override
;
45
46
/**
47
* @brief Sets a uniform scale relative to the sprite's texture size.
48
*
49
* The scale factor is applied to the original texture dimensions,
50
* allowing convenient uniform resizing of the sprite.
51
*
52
* @param scale Uniform scale factor (1.0 = original texture size).
53
*/
54
void
SetSpriteScale(
float
scale);
55
56
Sprite2D
(
const
Sprite2D
& rhs) =
delete
;
57
Sprite2D
&
operator=
(
const
Sprite2D
& rhs) =
delete
;
58
59
protected
:
60
std::string
mTextureName
;
61
glm::vec2
mTextureRespectiveScale
;
62
};
63
64
}
// namespace rendering_engine
rendering_engine::Camera2D
Represents a 2D camera with position, rotation, and zoom control.
Definition:
camera_2d.hpp:36
rendering_engine::Drawable2D
2D drawable component for rendering objects in 2D space.
Definition:
drawable_2d.hpp:27
rendering_engine::Scene
Base class representing a renderable scene.
Definition:
scene.hpp:44
rendering_engine::Sprite2D
2D drawable component for rendering textured quad.
Definition:
sprite_2d.hpp:22
rendering_engine::Sprite2D::Sprite2D
Sprite2D(const Sprite2D &rhs)=delete
rendering_engine::Sprite2D::operator=
Sprite2D & operator=(const Sprite2D &rhs)=delete
rendering_engine::Sprite2D::mTextureRespectiveScale
glm::vec2 mTextureRespectiveScale
Definition:
sprite_2d.hpp:61
rendering_engine::Sprite2D::mTextureName
std::string mTextureName
Definition:
sprite_2d.hpp:60
drawable_2d.hpp
rendering_engine
Definition:
actor.hpp:13
rendering_engine_export.hpp
RE_API
#define RE_API
Definition:
rendering_engine_export.hpp:10
rendering_engine::RenderResourceContext
Aggregates pointers to global rendering resource managers.
Definition:
render_resource_context.hpp:26
RenderingEngine
RenderingLibrary
Include
sprite_2d.hpp
Generated by
1.9.4