diff --git a/Rendering/OpenGL2/vtkOpenGLPolyDataMapper.cxx b/Rendering/OpenGL2/vtkOpenGLPolyDataMapper.cxx index 3280de11d95e1e9c70504bad0986ddfba10d1c7e..248a3fe0f08d9dd69d89446b41aa65ec186f8841 100644 --- a/Rendering/OpenGL2/vtkOpenGLPolyDataMapper.cxx +++ b/Rendering/OpenGL2/vtkOpenGLPolyDataMapper.cxx @@ -1687,8 +1687,15 @@ void vtkOpenGLPolyDataMapper::ReplaceShaderTCoord( << tcoordname << "VCVSOutput" << tCoordImpFSPost << "); // Read texture color\n"; } + vtkTextureObject* textureObject = vtkOpenGLTexture::SafeDownCast(texture)->GetTextureObject(); + if (!textureObject) + { + vtkErrorMacro("Could not find the vtkTextureObject"); + return; + } + // Update color based on texture number of components - int tNumComp = vtkOpenGLTexture::SafeDownCast(texture)->GetTextureObject()->GetComponents(); + int tNumComp = textureObject->GetComponents(); switch (tNumComp) { case 1: