diff options
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() |