aboutsummaryrefslogtreecommitdiff
path: root/src/libjin/graphics/je_gl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libjin/graphics/je_gl.cpp')
-rw-r--r--src/libjin/graphics/je_gl.cpp22
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;
}