Kaydet (Commit) f9d2de85 authored tarafından weigao's avatar weigao Kaydeden (comit) Markus Mohrhard

texture should be released in render thread

Change-Id: I4ae03163a2bf9aff831e6fd3a8c1c91fa3eba675
üst b757ac0b
......@@ -99,6 +99,7 @@ void RenderThread::renderFrame()
mpChart->mpRenderer->SetSize(aSize);
if(mpChart->mbNeedsNewRender)
{
mpChart->mpRenderer->ReleaseTextTexture();
for(boost::ptr_vector<opengl3D::Renderable3DObject>::iterator itr = mpChart->maShapes.begin(),
itrEnd = mpChart->maShapes.end(); itr != itrEnd; ++itr)
{
......
......@@ -203,6 +203,7 @@ public:
void ReleaseShapes();
void ReleaseScreenTextShapes();
void ReleaseTextTexture();
private:
void MoveModelf( const PosVecf3& trans, const PosVecf3& angle, const PosVecf3& scale);
......@@ -435,6 +436,7 @@ private:
glm::vec4 m_LightColor[MAX_LIGHT_NUM];
glm::vec4 m_PositionWorldspace[MAX_LIGHT_NUM];
float m_fLightPower[MAX_LIGHT_NUM];
std::vector<GLuint> m_Texturelist;
};
}
......
......@@ -1707,6 +1707,7 @@ void OpenGL3DRenderer::CreateTextTextureSingle(const boost::shared_array<sal_uIn
glBindTexture(GL_TEXTURE_2D, 0);
CHECK_GL_ERROR();
m_TextInfoList.push_back(aTextInfo);
m_Texturelist.push_back(aTextInfo.texture);
}
......@@ -1796,12 +1797,16 @@ void OpenGL3DRenderer::CreateTextTexture(const boost::shared_array<sal_uInt8> &b
void OpenGL3DRenderer::ReleaseTextShapes()
{
for (size_t i = 0; i < m_TextInfoList.size(); i++)
m_TextInfoList.clear();
}
void OpenGL3DRenderer::ReleaseTextTexture()
{
for (size_t i = 0; i < m_Texturelist.size(); i++)
{
TextInfo &textInfo = m_TextInfoList[i];
glDeleteTextures(1, &textInfo.texture);
glDeleteTextures(1, &m_Texturelist[i]);
}
m_TextInfoList.clear();
m_Texturelist.clear();
}
void OpenGL3DRenderer::ReleaseScreenTextShapes()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment