为什么 VTK 会为气球小部件示例代码报错 "Could not locate vtkTextRenderer object"?

Why does VTK give an error "Could not locate vtkTextRenderer object" for the balloon widget example code?

我正在学习使用 VTK 小部件。

我正在为气球小部件使用以下示例代码中提供的完全相同的代码: https://vtk.org/Wiki/VTK/Examples/Cxx/Widgets/BalloonWidget

我正在使用以下宏使用 Opengl2 渲染:

#include "vtk-8.2/vtkAutoInit.h"
VTK_MODULE_INIT(vtkRenderingOpenGL2);
VTK_MODULE_INIT(vtkInteractionStyle);

我可以看到渲染器中渲染的球体和多边形window,我还可以与这些对象进行交互。

但是,当我将鼠标指针悬停在对象上时,没有弹出气球小部件,而是在输出中出现以下错误 window:

ERROR: In C:\vtk\src\Rendering\Core\vtkTextMapper.cxx, line 550 vtkOpenGLTextMapper (00068BD8): Could not locate vtkTextRenderer object.

Google 搜索没有找到解决这个问题的方法,希望有人能帮我解决这个问题!

经过进一步调查,我找到了解决此错误的办法。解决办法是在#include "vtk-8.2/vtkAutoInit.h"后面加上VTK_MODULE_INIT(vtkRenderingFreeType);。文件顶部现在如下所示:

#include "vtk-8.2/vtkAutoInit.h"
VTK_MODULE_INIT(vtkRenderingOpenGL2);
VTK_MODULE_INIT(vtkInteractionStyle);
VTK_MODULE_INIT(vtkRenderingFreeType);