Merged default into minor

--HG--
branch : minor
This commit is contained in:
Alex Szpakowski
2014-04-01 20:46:31 -03:00
50 changed files with 416 additions and 160 deletions
+1
View File
@@ -134,6 +134,7 @@ StringMap<Graphics::BlendMode, Graphics::BLEND_MAX_ENUM>::Entry Graphics::blendM
{ "subtractive", Graphics::BLEND_SUBTRACTIVE },
{ "multiplicative", Graphics::BLEND_MULTIPLICATIVE },
{ "premultiplied", Graphics::BLEND_PREMULTIPLIED },
{ "screen", Graphics::BLEND_SCREEN },
{ "replace", Graphics::BLEND_REPLACE },
};
+1
View File
@@ -57,6 +57,7 @@ public:
BLEND_SUBTRACTIVE,
BLEND_MULTIPLICATIVE,
BLEND_PREMULTIPLIED,
BLEND_SCREEN,
BLEND_REPLACE,
BLEND_MAX_ENUM
};
+12 -2
View File
@@ -265,15 +265,19 @@ bool Graphics::setMode(int width, int height, bool &sRGB)
void Graphics::unSetMode()
{
if (!isCreated())
return;
// Window re-creation may destroy the GL context, so we must save the state.
if (isCreated())
savedState = saveState();
savedState = saveState();
// Unload all volatile objects. These must be reloaded after the display
// mode change.
Volatile::unloadAll();
gl.deInitContext();
created = false;
}
static void APIENTRY debugCB(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei /*len*/, const GLchar *msg, GLvoid* /*usr*/)
@@ -649,6 +653,10 @@ void Graphics::setBlendMode(Graphics::BlendMode mode)
state.srcRGB = state.srcA = GL_SRC_ALPHA;
state.dstRGB = state.dstA = GL_ONE;
break;
case BLEND_SCREEN:
state.srcRGB = state.srcA = GL_ONE;
state.dstRGB = state.dstA = GL_ONE_MINUS_SRC_COLOR;
break;
case BLEND_REPLACE:
default:
state.srcRGB = state.srcA = GL_ONE;
@@ -676,6 +684,8 @@ Graphics::BlendMode Graphics::getBlendMode() const
return BLEND_MULTIPLICATIVE;
else if (state.srcRGB == GL_ONE && state.dstRGB == GL_ONE_MINUS_SRC_ALPHA)
return BLEND_PREMULTIPLIED;
else if (state.srcRGB == GL_ONE && state.dstRGB == GL_ONE_MINUS_SRC_COLOR)
return BLEND_SCREEN;
else if (state.srcRGB == GL_ONE && state.dstRGB == GL_ZERO)
return BLEND_REPLACE;
}
+6 -2
View File
@@ -371,8 +371,12 @@ static const luaL_Reg functions[] =
{ "getVertexCount", w_Mesh_getVertexCount },
{ "setVertexMap", w_Mesh_setVertexMap },
{ "getVertexMap", w_Mesh_getVertexMap },
{ "setInstanceCount", w_Mesh_setInstanceCount },
{ "getInstanceCount", w_Mesh_getInstanceCount },
// Disabled for now, since implementation is incomplete and might change
// if/when VertexBuffers / custom vertex attributes are added.
// { "setInstanceCount", w_Mesh_setInstanceCount },
// { "getInstanceCount", w_Mesh_getInstanceCount },
{ "setTexture", w_Mesh_setTexture },
{ "getTexture", w_Mesh_getTexture },
{ "setDrawMode", w_Mesh_setDrawMode },