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 即可。