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() ...@@ -99,6 +99,7 @@ void RenderThread::renderFrame()
mpChart->mpRenderer->SetSize(aSize); mpChart->mpRenderer->SetSize(aSize);
if(mpChart->mbNeedsNewRender) if(mpChart->mbNeedsNewRender)
{ {
mpChart->mpRenderer->ReleaseTextTexture();
for(boost::ptr_vector<opengl3D::Renderable3DObject>::iterator itr = mpChart->maShapes.begin(), for(boost::ptr_vector<opengl3D::Renderable3DObject>::iterator itr = mpChart->maShapes.begin(),
itrEnd = mpChart->maShapes.end(); itr != itrEnd; ++itr) itrEnd = mpChart->maShapes.end(); itr != itrEnd; ++itr)
{ {
......
...@@ -203,6 +203,7 @@ public: ...@@ -203,6 +203,7 @@ public:
void ReleaseShapes(); void ReleaseShapes();
void ReleaseScreenTextShapes(); void ReleaseScreenTextShapes();
void ReleaseTextTexture();
private: private:
void MoveModelf( const PosVecf3& trans, const PosVecf3& angle, const PosVecf3& scale); void MoveModelf( const PosVecf3& trans, const PosVecf3& angle, const PosVecf3& scale);
...@@ -435,6 +436,7 @@ private: ...@@ -435,6 +436,7 @@ private:
glm::vec4 m_LightColor[MAX_LIGHT_NUM]; glm::vec4 m_LightColor[MAX_LIGHT_NUM];
glm::vec4 m_PositionWorldspace[MAX_LIGHT_NUM]; glm::vec4 m_PositionWorldspace[MAX_LIGHT_NUM];
float m_fLightPower[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 ...@@ -1707,6 +1707,7 @@ void OpenGL3DRenderer::CreateTextTextureSingle(const boost::shared_array<sal_uIn
glBindTexture(GL_TEXTURE_2D, 0); glBindTexture(GL_TEXTURE_2D, 0);
CHECK_GL_ERROR(); CHECK_GL_ERROR();
m_TextInfoList.push_back(aTextInfo); 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 ...@@ -1796,12 +1797,16 @@ void OpenGL3DRenderer::CreateTextTexture(const boost::shared_array<sal_uInt8> &b
void OpenGL3DRenderer::ReleaseTextShapes() 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, &m_Texturelist[i]);
glDeleteTextures(1, &textInfo.texture);
} }
m_TextInfoList.clear(); m_Texturelist.clear();
} }
void OpenGL3DRenderer::ReleaseScreenTextShapes() 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