diff options
Diffstat (limited to 'voronoisplat.cpp')
-rw-r--r-- | voronoisplat.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/voronoisplat.cpp b/voronoisplat.cpp index 9c95950..7695d97 100644 --- a/voronoisplat.cpp +++ b/voronoisplat.cpp @@ -2,6 +2,9 @@ #include <algorithm> +#include <QQuickWindow> +#include <QOpenGLFramebufferObject> + #include "scale.h" #include "skelft.h" @@ -21,13 +24,13 @@ static int nextPow2(int n) VoronoiSplatTexture::VoronoiSplatTexture(const QSize &size) : gl(QOpenGLContext::currentContext()) - , m_FBO(size) , m_cmap(3*COLORMAP_SAMPLES) { int baseSize = nextPow2(std::min(size.width(), size.height())); m_size.setWidth(baseSize); m_size.setHeight(baseSize); + gl.glGenFramebuffers(1, &m_FBO); setupShaders(); setupVAOs(); setupTextures(); @@ -202,6 +205,8 @@ VoronoiSplatTexture::~VoronoiSplatTexture() gl.glDeleteTextures(1, &m_colormapTex); gl.glDeleteTextures(1, &m_tex); + gl.glDeleteFramebuffers(1, &m_FBO); + delete m_program1; delete m_program2; } @@ -229,7 +234,7 @@ bool VoronoiSplatTexture::updateTexture() updateColormap(); } - m_FBO.bind(); + gl.glBindFramebuffer(GL_FRAMEBUFFER, m_FBO); // The first pass m_program1->bind(); |