diff options
Diffstat (limited to 'src/libjin/Graphics/je_canvas.cpp')
-rw-r--r-- | src/libjin/Graphics/je_canvas.cpp | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/src/libjin/Graphics/je_canvas.cpp b/src/libjin/Graphics/je_canvas.cpp index 7e0858b..417127d 100644 --- a/src/libjin/Graphics/je_canvas.cpp +++ b/src/libjin/Graphics/je_canvas.cpp @@ -18,13 +18,13 @@ namespace JinEngine return new Canvas(w, h); } - Canvas::Canvas(GLuint n) - : fbo(n) - { - } + Canvas::Canvas(GLuint n) + : fbo(n) + { + } Canvas::Canvas(int w, int h) - : Graphic(w, h) + : GraphicSingle(w, h) { GLint current_fbo; glGetIntegerv(GL_DRAW_FRAMEBUFFER_BINDING, ¤t_fbo); @@ -33,14 +33,13 @@ namespace JinEngine fbo = gl.genFrameBuffer(); gl.bindFrameBuffer(fbo); - // Generate texture save target - mTexture = gl.genTexture(); - gl.bindTexture(mTexture); + GLuint texture = getGLTexture(); + gl.bindTexture(texture); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); gl.texImage(GL_RGBA8, w, h, GL_RGBA, GL_UNSIGNED_BYTE, NULL); gl.bindTexture(0); - glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, mTexture, 0); + glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, texture, 0); GLenum status = glCheckFramebufferStatus(GL_FRAMEBUFFER); |