diff options
Diffstat (limited to 'src/libjin/graphics/je_canvas.cpp')
-rw-r--r-- | src/libjin/graphics/je_canvas.cpp | 44 |
1 files changed, 1 insertions, 43 deletions
diff --git a/src/libjin/graphics/je_canvas.cpp b/src/libjin/graphics/je_canvas.cpp index 8f216e6..831544d 100644 --- a/src/libjin/graphics/je_canvas.cpp +++ b/src/libjin/graphics/je_canvas.cpp @@ -10,9 +10,6 @@ namespace JinEngine namespace Graphics { - const Canvas* Canvas::current = nullptr; - const Canvas* const Canvas::DEFAULT_CANVAS = new Canvas(0); - Canvas* Canvas::createCanvas(int w, int h) { return new Canvas(w, h); @@ -53,46 +50,7 @@ namespace JinEngine bool Canvas::isBinded(const Canvas* cvs) { - return current == cvs; - } - - /** - * bind to canvas - */ - void Canvas::bind(Canvas* canvas) - { - if (isBinded(canvas)) return; - current = canvas; - gl.bindFrameBuffer(canvas->fbo); - int w = canvas->getWidth(); - int h = canvas->getHeight(); - // Set view port to canvas. - glViewport(0, 0, w, h); - gl.setProjectionMatrix(0, w, 0, h, -1, 1); - } - - /** - * bind to default screen render buffer. - * do some coordinates transform work - * https://blog.csdn.net/liji_digital/article/details/79370841 - * https://blog.csdn.net/lyx2007825/article/details/8792475 - */ - void Canvas::unbind() - { - if (isBinded(DEFAULT_CANVAS)) return; - current = DEFAULT_CANVAS; - /* get window size as viewport */ - Window* wnd = Window::get(); - int w = wnd->getW(); - int h = wnd->getH(); - - glBindFramebuffer(GL_FRAMEBUFFER, DEFAULT_CANVAS->fbo); - - /* set viewport on screen */ - glViewport(0, 0, w, h); - - gl.setProjectionMatrix(0, w, h, 0, -1, 1); - + return gl.getCanvas() == cvs; } } // namespace Graphics |