From 1a3fd632504bdd2ead183d617d854db8bd8f1747 Mon Sep 17 00:00:00 2001 From: Andreas Ortmann Date: Thu, 29 Sep 2016 09:16:34 +0200 Subject: [PATCH] simple (but inefficent) traces added. --- .../renderer_polygon_3d.cpp | 29 +++++++++++++++++++ .../renderer_polygon_3d.hpp | 2 ++ 2 files changed, 31 insertions(+) diff --git a/game/renderer_polygon_3d/renderer_polygon_3d.cpp b/game/renderer_polygon_3d/renderer_polygon_3d.cpp index 75828e6..4b8e066 100644 --- a/game/renderer_polygon_3d/renderer_polygon_3d.cpp +++ b/game/renderer_polygon_3d/renderer_polygon_3d.cpp @@ -73,6 +73,8 @@ namespace endofthejedi { renderShips(); renderMissiles(); + renderTraces(); + //glDisable(GL_DEPTH_TEST); renderParticles(); //glEnable(GL_DEPTH_TEST); @@ -244,4 +246,31 @@ namespace endofthejedi { return model; } + + void RendererPolygon3d::renderTraces() + { + //std::vector points; + //points.push_back(glm::vec2(0.0, 0.0)); + //points.push_back(glm::vec2(0.1, 0.02)); + //points.push_back(glm::vec2(0.2, 0.05)); + //points.push_back(glm::vec2(0.3, 0.1)); + //points.push_back(glm::vec2(0.4, 0.2)); + //points.push_back(glm::vec2(0.5, 0.4)); + //points.push_back(glm::vec2(0.6, 0.8)); + //points.push_back(glm::vec2(0.7, 1.0)); + + // revert to default + glUseProgram(0); + + glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); + glColor3f(0.0, 0.0, 1.0); + + for (const game::Trace *trace : m_state->traces) { + glBegin(GL_LINE_STRIP); + for (const game::Trace::TracePoint &tp : trace->points) { + glVertex2f(tp.position.x, tp.position.y); + } + glEnd(); + } + } } diff --git a/game/renderer_polygon_3d/renderer_polygon_3d.hpp b/game/renderer_polygon_3d/renderer_polygon_3d.hpp index 0c30d1a..fea9003 100644 --- a/game/renderer_polygon_3d/renderer_polygon_3d.hpp +++ b/game/renderer_polygon_3d/renderer_polygon_3d.hpp @@ -46,6 +46,8 @@ namespace endofthejedi { // do the actual computation with these values glm::mat4 computeModelMatrix(const glm::vec2 &pos, float scale, float angle=0.0); + void renderTraces(); + private: // all models are also here (for easy reloading etc.) std::vector m_models;