Skip to content

Commit 2cf2877

Browse files
authored
Merge pull request #1 from NOOBDY/size
calculate size in Text::Draw and Image::Draw
2 parents 621eb03 + 8e3419b commit 2cf2877

File tree

6 files changed

+26
-48
lines changed

6 files changed

+26
-48
lines changed

include/Util/Image.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@ class Image : public Core::Drawable {
1818
Image(const std::string &filepath);
1919

2020
glm::vec2 GetSize() override;
21+
2122
void Draw(const Util::Transform &transform, const float zIndex) override;
2223

2324
private:
2425
void InitProgram();
2526
void InitVertexArray();
26-
void InitUniformBuffer(const Util::Transform &transform = Util::Transform(),
27-
const float zIndex = -1);
27+
void InitUniformBuffer();
2828

2929
static constexpr int UNIFORM_SURFACE_LOCATION = 0;
3030

include/Util/Text.hpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,14 @@ class Text : public Core::Drawable {
1616
public:
1717
Text(const std::string &font, int size, const std::string &text);
1818

19-
void Draw(const Transform &transform, const float zIndex) override;
2019
glm::vec2 GetSize() override { return m_Size; };
2120

21+
void Draw(const Transform &transform, const float zIndex) override;
22+
2223
private:
2324
void InitProgram();
2425
void InitVertexArray();
25-
void InitUniformBuffer(const Util::Transform &transform = Util::Transform(),
26-
const float zIndex = -1);
26+
void InitUniformBuffer();
2727

2828
static constexpr int UNIFORM_SURFACE_LOCATION = 0;
2929

include/Util/TransformUtils.hpp

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,8 @@
77
#include "pch.hpp"
88

99
namespace Util {
10-
11-
glm::mat4 TransformToMat4(const Transform &transform, float zIndex);
12-
1310
Core::Matrices ConvertToUniformBufferData(const Util::Transform &transform,
14-
float zIndex);
15-
11+
const glm::vec2 &size, float zIndex);
1612
} // namespace Util
1713

1814
#endif // UTIL_TRANSFORM_UTILS_HPP

src/Util/Image.cpp

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ Image::Image(const std::string &filepath) {
3333
}
3434

3535
void Image::Draw(const Util::Transform &transform, const float zIndex) {
36-
auto data = Util::ConvertToUniformBufferData(transform, zIndex);
36+
auto data = Util::ConvertToUniformBufferData(transform, m_Size, zIndex);
3737
s_UniformBuffer->SetData(0, data);
3838

3939
m_Texture->Bind(UNIFORM_SURFACE_LOCATION);
@@ -57,20 +57,17 @@ void Image::InitProgram() {
5757
void Image::InitVertexArray() {
5858
s_VertexArray = std::make_unique<Core::VertexArray>();
5959

60-
// hard coded value
61-
constexpr float scale = 100.0F;
62-
6360
// NOLINTBEGIN
6461
// These are vertex data for the rectangle but clang-tidy has magic
6562
// number warnings
6663

6764
// Vertex
6865
s_VertexArray->AddVertexBuffer(std::make_unique<Core::VertexBuffer>(
6966
std::vector<float>{
70-
-1.0F * scale, 1.0F * scale, //
71-
-1.0F * scale, -1.0F * scale, //
72-
1.0F * scale, -1.0F * scale, //
73-
1.0F * scale, 1.0F * scale, //
67+
-0.5F, 0.5F, //
68+
-0.5F, -0.5F, //
69+
0.5F, -0.5F, //
70+
0.5F, 0.5F, //
7471
},
7572
2));
7673

@@ -93,14 +90,11 @@ void Image::InitVertexArray() {
9390
// NOLINTEND
9491
}
9592

96-
void Image::InitUniformBuffer(const Util::Transform &transform,
97-
const float zIndex) { // YESLINT
93+
void Image::InitUniformBuffer() {
9894
s_UniformBuffer = std::make_unique<Core::UniformBuffer<Core::Matrices>>(
9995
*s_Program, "Matrices", 0);
100-
101-
auto data = Util::ConvertToUniformBufferData(transform, zIndex);
102-
s_UniformBuffer->SetData(0, data);
10396
}
97+
10498
glm::vec2 Image::GetSize() {
10599
return m_Size;
106100
}

src/Util/Text.cpp

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,7 @@ Text::Text(const std::string &font, int size, const std::string &text) {
4444
}
4545

4646
void Text::Draw(const Util::Transform &transform, const float zIndex) {
47-
// FIXME: temporary fix
48-
auto data = Util::ConvertToUniformBufferData(transform, zIndex);
47+
auto data = Util::ConvertToUniformBufferData(transform, m_Size, zIndex);
4948
s_UniformBuffer->SetData(0, data);
5049

5150
m_Texture->Bind(UNIFORM_SURFACE_LOCATION);
@@ -69,20 +68,17 @@ void Text::InitProgram() {
6968
void Text::InitVertexArray() {
7069
s_VertexArray = std::make_unique<Core::VertexArray>();
7170

72-
// hard coded value
73-
constexpr float scale = 100.0F;
74-
7571
// NOLINTBEGIN
7672
// These are vertex data for the rectangle but clang-tidy has magic
7773
// number warnings
7874

7975
// Vertex
8076
s_VertexArray->AddVertexBuffer(std::make_unique<Core::VertexBuffer>(
8177
std::vector<float>{
82-
-1.0F * scale, 1.0F * scale, //
83-
-1.0F * scale, -1.0F * scale, //
84-
1.0F * scale, -1.0F * scale, //
85-
1.0F * scale, 1.0F * scale, //
78+
-0.5F, 0.5F, //
79+
-0.5F, -0.5F, //
80+
0.5F, -0.5F, //
81+
0.5F, 0.5F, //
8682
},
8783
2));
8884

@@ -105,13 +101,9 @@ void Text::InitVertexArray() {
105101
// NOLINTEND
106102
}
107103

108-
void Text::InitUniformBuffer(const Util::Transform &transform,
109-
const float zIndex) {
104+
void Text::InitUniformBuffer() {
110105
s_UniformBuffer = std::make_unique<Core::UniformBuffer<Core::Matrices>>(
111106
*s_Program, "Matrices", 0);
112-
113-
auto data = Util::ConvertToUniformBufferData(transform, zIndex);
114-
s_UniformBuffer->SetData(0, data);
115107
}
116108

117109
std::unique_ptr<Core::Program> Text::s_Program = nullptr;

src/Util/TransformUtils.cpp

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,8 @@
33
#include "config.hpp"
44

55
namespace Util {
6-
7-
glm::mat4 TransformToMat4(const Transform &transform, const float zIndex) {
8-
constexpr glm::mat4 eye(1.F);
9-
10-
// TODO: TRS comment
11-
return glm::translate(eye, {transform.translation, zIndex}) *
12-
glm::rotate(eye, transform.rotation, glm::vec3(0, 0, 1)) *
13-
glm::scale(eye, {transform.scale, 1});
14-
}
15-
166
Core::Matrices ConvertToUniformBufferData(const Util::Transform &transform,
7+
const glm::vec2 &size,
178
const float zIndex) {
189
constexpr glm::mat4 eye(1.F);
1910

@@ -26,8 +17,13 @@ Core::Matrices ConvertToUniformBufferData(const Util::Transform &transform,
2617
glm::scale(eye, {1.F / WINDOW_WIDTH, 1.F / WINDOW_HEIGHT, 1.F}) *
2718
glm::translate(eye, {WINDOW_WIDTH / 2, WINDOW_HEIGHT / 2, 0});
2819

20+
// TODO: TRS comment
21+
auto model = glm::translate(eye, {transform.translation, zIndex}) *
22+
glm::rotate(eye, transform.rotation, glm::vec3(0, 0, 1)) *
23+
glm::scale(eye, {transform.scale * size, 1});
24+
2925
Core::Matrices data = {
30-
Util::TransformToMat4(transform, zIndex),
26+
model,
3127
projection * view,
3228
};
3329

0 commit comments

Comments
 (0)