From 8f2ba3f1b11f30cdb7d41bf2e5c5dc141fba76d4 Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 24 Dec 2018 21:02:12 +0800 Subject: =?UTF-8?q?*=E5=B1=8F=E5=B9=95=E7=89=B9=E6=95=88(post=20processing?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/libjin/graphics/je_gl.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src/libjin/graphics/je_gl.cpp') diff --git a/src/libjin/graphics/je_gl.cpp b/src/libjin/graphics/je_gl.cpp index 24b0a48..aeaa663 100644 --- a/src/libjin/graphics/je_gl.cpp +++ b/src/libjin/graphics/je_gl.cpp @@ -18,7 +18,7 @@ namespace JinEngine OpenGL gl; - const Canvas* const OpenGL::DEFAULT_CANVAS = new Canvas(0); + Canvas* const OpenGL::DEFAULT_CANVAS = new Canvas(0); OpenGL::OpenGL() : mBlendMode(BlendMode::NONE) @@ -262,6 +262,7 @@ namespace JinEngine case BlendMode::ADDITIVE: srcRGB = GL_SRC_ALPHA; dstRGB = GL_ONE; + dstA = GL_ONE; break; case BlendMode::PREMULTIPLIEDALPHA: srcRGB = srcA = GL_ONE; @@ -316,6 +317,11 @@ namespace JinEngine mCanvas = canvas; + gl.enable(GL_BLEND); + gl.enable(GL_TEXTURE_2D); + + gl.setBlendMode(OpenGL::BlendMode::ALPHA); + ++mStats.canvasSwitches; } } @@ -340,7 +346,7 @@ namespace JinEngine glViewport(0, 0, w, h); gl.setProjectionMatrix(0, w, h, 0, -1, 1); - mCanvas = nullptr; + mCanvas = DEFAULT_CANVAS; } Canvas* OpenGL::getCanvas() -- cgit v1.1-26-g67d0