diff --git a/Rendering/OpenGL2/vtkTextureObject.cxx b/Rendering/OpenGL2/vtkTextureObject.cxx index 50bb6f30cb945f0f4f08788dc0818bf2e63113aa..e02b3083386bca399a28d9220864a855d7cefe1b 100644 --- a/Rendering/OpenGL2/vtkTextureObject.cxx +++ b/Rendering/OpenGL2/vtkTextureObject.cxx @@ -366,13 +366,15 @@ bool vtkTextureObject::LoadRequiredExtensions(vtkOpenGLRenderWindow *renWin) //---------------------------------------------------------------------------- void vtkTextureObject::SetContext(vtkOpenGLRenderWindow* renWin) { + this->ResourceCallback->RegisterGraphicsResources(renWin); + // avoid pointless reassignment if (this->Context == renWin) { return; } - this->ResourceCallback->RegisterGraphicsResources(renWin); + this->ResetFormatAndType(); this->Context = NULL; this->Modified(); @@ -428,6 +430,8 @@ void vtkTextureObject::CreateTexture() { assert(this->Context); + this->ResourceCallback->RegisterGraphicsResources(this->Context); + // reuse the existing handle if we have one if (!this->Handle) {