diff options
author | chai <chaifix@163.com> | 2018-12-24 21:02:12 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2018-12-24 21:02:12 +0800 |
commit | 8f2ba3f1b11f30cdb7d41bf2e5c5dc141fba76d4 (patch) | |
tree | f36138310b5ca7a8e58b3af9547335a11d5d79c8 /src/libjin/graphics/je_gl.cpp | |
parent | 039e2541207232e0a382a52a65122a15eed9257d (diff) |
*屏幕特效(post processing)
Diffstat (limited to 'src/libjin/graphics/je_gl.cpp')
-rw-r--r-- | src/libjin/graphics/je_gl.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
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() |