游戏或者CAD软件中,我们常常在目标旁边显示一个始终面向用户的二维图像,来表示某些特定标识。VTK使用vtkFollower 来实现这个功能,然而VTK7.1及以下版本发生bug,表现为使用vtkFollower之后,二维图像无法渲染,只显示一个纯白色的矩形框。 解决方法必须得用bing或者谷和谐哥才能搜索到,原帖网址在:http://vtk.1045678.n5.nabble.com/possible-bug-in-vtk-7-1-OpenGL2-td5739717.html。这里VTK负责人表示vtkFollower的cxx源文件的Render函数漏写了一段代码:
if (this
->Texture)
{
this
->Texture
->Render(ren);
}
好在解决方法相对比较简单,在上述代码处添加一行代码:
if (this
->Texture)
{
this
->Texture
->Render(ren);
}
this
->Device
->SetTexture(this
->GetTexture());
然后重新编译vtk工程文件,生成lib文件,放入自己的工程项目中,即可实现始终面向用户的二维图像标记。