vtk和pcl是优秀的三维开源引擎, 但是我们在工程中,需要集成到我们软件中,因而有了QVtkOpenglWidget等直接嵌入Qt程序的要求; 但是从vtk8.2之后,这部分源码又剔除出去了,随之影响的还有pcl 8.0系列之后的版本;
那么升级就遇到问题了, 如果在版本之前的编译我们还好说,但是随着这两个引擎的升级,新功能的迭代添加,为了适配之前的工程,我们就只能保持版本不动吗?这不可行! 这无疑是个巨大的痛点!
因而,本博主决定:从两个引擎中的源码中,分离pcl_visulization 和 vtkQtWidget,从而将渲染界面独立出来, 先看成果:
以上部分,就是抽离出来的两个库,独立编译并在qt中成功运行后的结果; 那么接下来就说说,移植之后的关键过程以及中间的坑
关键三: vtk的src中,会缺少下面这些文件,记得从 Rendering中,把这些数据引入;
本博主就是在这一步被坑了很多次!!!! 切记
到此,我们的分离工作完成, 以后vtk或者pcl的库,任其升级变化,我们的上层软件交互都不会受到影响!
当然,其它的模块也可以这么做!