diff --git a/src/libprojectM/Renderer/Renderer.cpp b/src/libprojectM/Renderer/Renderer.cpp index 581313f88..5ff18d6a0 100644 --- a/src/libprojectM/Renderer/Renderer.cpp +++ b/src/libprojectM/Renderer/Renderer.cpp @@ -17,8 +17,6 @@ #include #include -Pipeline* Renderer::currentPipe; - using namespace std::chrono; class Preset; @@ -533,7 +531,11 @@ void Renderer::Interpolation(const Pipeline& pipeline, const PipelineContext& pi else { mesh.Reset(); - omptl::transform(mesh.p.begin(), mesh.p.end(), mesh.identity.begin(), mesh.p.begin(), &Renderer::PerPixel); + Pipeline *cp = currentPipe; + omptl::transform(mesh.p.begin(), mesh.p.end(), mesh.identity.begin(), mesh.p.begin(), + [cp](PixelPoint p, PerPixelContext &context) { + return cp->PerPixel(p, context); + }); for (int j = 0; j < mesh.height - 1; j++) { diff --git a/src/libprojectM/Renderer/Renderer.hpp b/src/libprojectM/Renderer/Renderer.hpp index 99de62fe4..26770f166 100644 --- a/src/libprojectM/Renderer/Renderer.hpp +++ b/src/libprojectM/Renderer/Renderer.hpp @@ -190,7 +190,7 @@ private: PerPixelMesh mesh; BeatDetect *beatDetect; TextureManager *textureManager; - static Pipeline* currentPipe; + Pipeline* currentPipe; TimeKeeper *timeKeeperFPS; TimeKeeper *timeKeeperToast; @@ -252,11 +252,6 @@ private: void CompositeShaderOutput(const Pipeline &pipeline, const PipelineContext &pipelineContext); void CompositeOutput(const Pipeline &pipeline, const PipelineContext &pipelineContext); - inline static PixelPoint PerPixel(PixelPoint p, PerPixelContext &context) - { - return currentPipe->PerPixel(p,context); - } - void rescale_per_pixel_matrices(); void draw_toast();