aboutsummaryrefslogtreecommitdiff
path: root/src/libjin/Graphics/je_canvas.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libjin/Graphics/je_canvas.cpp')
-rw-r--r--src/libjin/Graphics/je_canvas.cpp17
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, &current_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);