From a7ce0bd265b30b29d269a1ca11a1622991336598 Mon Sep 17 00:00:00 2001 From: Bert Peters Date: Sun, 18 Feb 2018 18:52:22 +0100 Subject: [PATCH] Implement colors for interaction effects. --- src/ActivityAnimation.cpp | 13 ++++++++++++- src/ActivityAnimation.hpp | 1 + 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/ActivityAnimation.cpp b/src/ActivityAnimation.cpp index 5825b15..a1aa23b 100644 --- a/src/ActivityAnimation.cpp +++ b/src/ActivityAnimation.cpp @@ -14,11 +14,20 @@ ActivityAnimation::ActivityAnimation(const vector color; + if (entry.first > 0) { + color = {0, 1, 0}; + } else { + color = {1, 0, 0}; + } + colorBuf.push_back(color); + for (auto i : Range(3)) { startingPos.emplace_back(aPos[i]); delta.emplace_back(bPos[i] - aPos[i] + (i % 3 ? 0 : xDist)); @@ -34,9 +43,11 @@ void ActivityAnimation::draw(float timeScale) vertexBuffer[i] = startingPos[i] + timeScale * delta[i]; } - glColor3f(1, 1, 1); glEnableClientState(GL_VERTEX_ARRAY); + glEnableClientState(GL_COLOR_ARRAY); + glColorPointer(3, GL_FLOAT, 0, colorBuf.data()); glVertexPointer(3, GL_FLOAT, 0, vertexBuffer.get()); glDrawArrays(GL_POINTS, 0, bufferLength / 3); + glDisableClientState(GL_COLOR_ARRAY); glDisableClientState(GL_VERTEX_ARRAY); } diff --git a/src/ActivityAnimation.hpp b/src/ActivityAnimation.hpp index 369e88d..ca984d3 100644 --- a/src/ActivityAnimation.hpp +++ b/src/ActivityAnimation.hpp @@ -18,6 +18,7 @@ namespace fmri private: std::size_t bufferLength; + std::vector> colorBuf; std::vector startingPos; std::vector delta; };