diff options
author | chai <chaifix@163.com> | 2018-12-29 23:27:16 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2018-12-29 23:27:16 +0800 |
commit | cca2e32c4abe70c0c16dbdeaef7e760a5ffa3ea8 (patch) | |
tree | 3b043e357cb6835195df19b6de94a35f61d45b76 /src/libjin/graphics/je_gl.cpp | |
parent | 9e13e3febeda9e7a0587fcb56422b9d6a8330c91 (diff) |
*blend mode
Diffstat (limited to 'src/libjin/graphics/je_gl.cpp')
-rw-r--r-- | src/libjin/graphics/je_gl.cpp | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/src/libjin/graphics/je_gl.cpp b/src/libjin/graphics/je_gl.cpp index d7a79d4..b0f113b 100644 --- a/src/libjin/graphics/je_gl.cpp +++ b/src/libjin/graphics/je_gl.cpp @@ -21,7 +21,6 @@ namespace JinEngine Canvas* const OpenGL::DEFAULT_CANVAS = new Canvas(0); OpenGL::OpenGL() - : mBlendMode(BlendMode::NONE) { memset(&mStats, 0, sizeof(mStats)); memset(&mColor, 0xff, sizeof(mColor)); @@ -36,6 +35,17 @@ namespace JinEngine { } + void OpenGL::init() + { + enable(GL_BLEND); + enable(GL_TEXTURE_2D); + setClearColor(0, 0, 0, 0xff); + setColor(0xff, 0xff, 0xff, 0xff); + setBlendMode(OpenGL::BlendMode::ALPHA); + unbindCanvas(); + unuseShader(); + } + void OpenGL::enable(GLenum cap) { glEnable(cap); @@ -263,6 +273,7 @@ namespace JinEngine { case BlendMode::ADDITIVE: srcRGB = GL_SRC_ALPHA; + srcA = GL_SRC_ALPHA; dstRGB = GL_ONE; dstA = GL_ONE; break; @@ -272,15 +283,10 @@ namespace JinEngine break; case BlendMode::ALPHA: default: - /*srcRGB = GL_SRC_ALPHA; - srcA = GL_ONE; + srcRGB = GL_SRC_ALPHA; // 0xff, 0xff, 0xff, 0Ⱦ⣬GL_ONEЩᱣ + srcA = GL_SRC_ALPHA; dstRGB = GL_ONE_MINUS_SRC_ALPHA; dstA = GL_ONE_MINUS_SRC_ALPHA; -*/ - srcRGB = GL_ONE; - srcA = GL_ONE; - dstRGB = GL_ZERO; - dstA = GL_ZERO; break; } |