CX_OBJECT_FREE(cxEngine, cxObject) { CX_RELEASE(this->bmpfonts); CX_RELEASE(this->actions); CX_RELEASE(this->lang); CX_RELEASE(this->datasets); CX_RELEASE(this->scripts); CX_RELEASE(this->dbenvs); CX_RELEASE(this->window); CX_EVENT_RELEASE(this->onExit); CX_SIGNAL_RELEASE(this->onRecvJson); CX_SIGNAL_RELEASE(this->onTouch); CX_SIGNAL_RELEASE(this->onUpdate); CX_SIGNAL_RELEASE(this->onPause); CX_SIGNAL_RELEASE(this->onResume); CX_SIGNAL_RELEASE(this->onMemory); CX_METHOD_RELEASE(this->MakeAction); CX_METHOD_RELEASE(this->MakeView); cxEventBaseDestroy(); cxCurveDestroy(); cxOpenGLDestroy(); cxIconvDestroy(); cxFreeTypeDestroy(); cxPlayerDestroy(); cxMessageDestroy(); xmlCleanupGlobals(); kmGLFreeAll(); cxAutoPoolDestroy(); lua_close(gL); }
void ccGLInvalidateStateCache( void ) { kmGLFreeAll(); s_uCurrentProjectionMatrix = -1; s_bVertexAttribPosition = false; s_bVertexAttribColor = false; s_bVertexAttribTexCoords = false; #if CC_ENABLE_GL_STATE_CACHE s_uCurrentShaderProgram = -1; for( int i=0; i < kCCMaxActiveTexture; i++ ) { s_uCurrentBoundTexture[i] = -1; } s_eBlendingSource = -1; s_eBlendingDest = -1; s_eGLServerState = 0; #if CC_TEXTURE_ATLAS_USE_VAO s_uVAO = 0; #endif // CC_TEXTURE_ATLAS_USE_VAO #endif // CC_ENABLE_GL_STATE_CACHE }