1、文字未显示:
现象:在VTK中使用vtkTextActor或vtkActor2D类显示文字,结果文字未显示出来;
解决方法:在程序上方加上 VTK_MODULE_INIT( vtkRenderingFreeType )
2、编译出现错误:no override found for '...'
解决方法:在程序上方加上
#include <vtkAutoInit.h>
VTK_MODULE_INIT( vtkRenderingOpenGL );
或:
VTK_MODULE_INIT( vtkRenderingOpenGL 2);
注:根据编译时选择的是OpenGL还是OpenGL2。
3、运行出现错误:vtkLookupTable [0000000A494850]:Bad table range:[1e+010,-1e+010]
原因:vtkLookupTable范围设置错误,SetRange( double min, double max )参数min比max小
解决方法:正确设置SetRange(...)函数的参数
4、运行时出现错误:Error: no voerride found for "vtkGPUVolumeRayCastmapper"
解决方法:在main函数前加上
VTK_MODULE_INIT( vtkRenderingVolumeOpenGL );
5、运行时出现错误:vtkTrivialProducer (0000000009584F50): This data object does not contain the requested extent.
原因:使用vtkImageReslice,设置完后未调用Update()方法;
解决方法:pImageReslice->Update();
备注:其他类出现此错误同此解决方法。
6、运行时出现错误:vtkOpenGLTexture (0000000002540430): No scalar values found for texture input!
现象:在VTK中使用vtkTextActor或vtkActor2D类显示文字,结果文字未显示出来;
原因:创建vtkTextActor时,未调用SetInput()方法;或调用SetInput()方法,参数给的空字符串。这都相当于创建了一个空vtkTextActor,导致该错误发生。或未调用初始化宏VTK_MODULE_INIT;
解决方法:(1)在先程序上方加上 VTK_MODULE_INIT( vtkRenderingFreeType ),依然不可以的话,进行(2);
(2)创建vtkTextActor时进行初始化,即调用SetInput()方法,且必须给出参数,哪怕是一个空格字符创。
7、运行时出现错误:Invalid pixel format, no OpenGL support
解决方法:不要在QVtkWidget的子类构造函数中创建需要render(渲染)的对象,在使用时进行渲染。
8、运行时警告:Warning: Link to vtkInteractionStyle for default style selection.
解决方法:在main函数前加上 VTK_MODULE_INIT( vtkInteractionStyle );
9、运行时错误:vtkOpenGLExtensionManager (00000232ABF21E00): Extension GL_VERSION_1_2 could not be loaded.
原因:VTK三维纹理映射类:vtkVolumeTextureMapper3D只其支持两种显卡nvidia和ATI;电脑默认的显卡使用的是集成显卡(已集成显卡的配置自然是不能很好的支持OPENGL)而不是独显。
解决方法:手动切换到独显。详细的切换方法:双显卡切换。
10、运行时警告:VTKOpenGLRenderer(00...00043A450):Resetting view-up since view plane normal is parallel
解决方法:暂未知。
11、运行时错误里:vtkTextActor[000...26380]:Failed getting the TextRenderer instance!
解决方法:在.cpp文件开头加上VTK_MODULE_INIT( vtkRenderingFreeType );
12、运行时警告:QVTKWidget was deprecated for VTK 8.1 and will be removed in a future version.
解决方法:使用QVTKOpenGLWidget替换QVTKWidget 即可。