summaryrefslogtreecommitdiffhomepage
path: root/main/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'main/main.cpp')
-rw-r--r--main/main.cpp26
1 files changed, 22 insertions, 4 deletions
diff --git a/main/main.cpp b/main/main.cpp
index bbbf8d87..ec065523 100644
--- a/main/main.cpp
+++ b/main/main.cpp
@@ -41,7 +41,8 @@ void app::drawEvent() {
}
draw_chunk(_chunk);
- draw_wireframe();
+ draw_wireframe_quad();
+ draw_wireframe_box();
swapBuffers();
redraw();
@@ -50,20 +51,37 @@ void app::drawEvent() {
void app::draw_chunk(chunk& c)
{
+ _shader.set_tint({1, 1, 1, 1});
_floor_mesh.draw(_shader, c);
_wall_mesh.draw(_shader, c);
}
-void app::draw_wireframe()
+void app::draw_wireframe_quad()
{
+ constexpr float LINE_WIDTH = 1;
+
constexpr auto X = TILE_SIZE[0], Y = TILE_SIZE[1];
constexpr float N = TILE_MAX_DIM/2.f;
- const Vector3 center {(float)(X*N), (float)(Y*N), 0};
+ const Vector3 center {X*N, Y*N, 0};
_shader.set_tint({1, 0, 0, 1});
- _wireframe_quad.draw(_shader, {center, {TILE_SIZE[0], TILE_SIZE[1]}});
+ _wireframe_quad.draw(_shader, {center, {TILE_SIZE[0], TILE_SIZE[1]}, LINE_WIDTH});
_shader.set_tint({1, 1, 1, 1});
}
+void app::draw_wireframe_box()
+{
+ constexpr float LINE_WIDTH = 1;
+
+ constexpr auto X = TILE_SIZE[0], Y = TILE_SIZE[1];
+ constexpr float N = TILE_MAX_DIM/2.f;
+ constexpr Vector3 size{TILE_SIZE[0], TILE_SIZE[1], TILE_SIZE[2]};
+ const Vector3 center1{X*(N+3), Y*(N+2), 0},
+ center2{X*(N-2), Y*(N-4), 0};
+ _shader.set_tint({0, 1, 0, 1});
+ _wireframe_box.draw(_shader, {center1, size, LINE_WIDTH});
+ _wireframe_box.draw(_shader, {center2, size, LINE_WIDTH});
+}
+
} // namespace Magnum::Examples
MAGNUM_APPLICATION_MAIN(Magnum::Examples::app)