第一步:下载、编译、安装VTK库,主要参考下面的博客:
https://blog.youkuaiyun.com/jepco1/article/details/80628026
第二步 :建立Qt Creator工程,在.pro文件中配置vtk 的include和lib库,如下
INCLUDEPATH +=$$quote(C:\Program Files\VTK\include\vtk-8.1)
LIBS +=$$quote(D:/VTK/VTK-8.1.0/build/lib/Debug/vtk*.lib)
其中INCLUDEPATH中添加VTK的头文件(在编译好的文件中的include目录下或者安装vtk的目录的include下选一个就行),LIBS中添加.lib文件(在编译生成的目录下,要区分release和debug版本)
至于.dll文件,是在编译生成VTK后,将生成后的(不是INSTALL)bin下的debug下dll目录添加到环境变量中,并重启电脑
第三部:在main.cpp的所有include命令前添加如下:
#include <vtkAutoInit.h>
VTK_MODULE_INIT(vtkRenderingOpenGL2);
VTK_MODULE_INIT(vtkInteractionStyle);
然后添加例子需要的头文件:
#include<vtkSmartPointer.h>
#include<vtkRenderWindow.h>
#include<vtkRenderer.h>
#include<vtkRenderWindowInteractor.h>
#include<vtkInteractorStyleTrackballCamera.h>
#include<vtkCylinderSource.h>
#include<vtkPolyDataMapper.h>
#include<vtkActor.h>
在main函数中添加如下显示圆柱体的代码即可:
vtkSmartPointer<vtkCylinderSource> cylinder=
vtkSmartPointer<vtkCylinderSource>::New();
cylinder->SetHeight(3.0);
cylinder->SetRadius(1.0);
cylinder->SetResolution(10);
vtkSmartPointer<vtkPolyDataMapper> cylinderMapper=
vtkSmartPointer<vtkPolyDataMapper>::New();
cylinderMapper->SetInputConnection(cylinder->GetOutputPort());
vtkSmartPointer<vtkActor> cylinderActor=
vtkSmartPointer<vtkActor>::New();
cylinderActor->SetMapper(cylinderMapper);
vtkSmartPointer<vtkRenderer> renderer=
vtkSmartPointer<vtkRenderer>::New();
renderer->AddActor(cylinderActor);
renderer->SetBackground(0.1,0.2,0.4);
vtkSmartPointer<vtkRenderWindow> renWin=
vtkSmartPointer<vtkRenderWindow>::New();
renWin->AddRenderer(renderer);
renWin->SetSize(300,300);
vtkSmartPointer<vtkRenderWindowInteractor> iren=
vtkSmartPointer<vtkRenderWindowInteractor>::New();
iren->SetRenderWindow(renWin);
vtkSmartPointer<vtkInteractorStyleTrackballCamera> style=
vtkSmartPointer<vtkInteractorStyleTrackballCamera>::New();
iren->SetInteractorStyle(style);
iren->Initialize();
iren->Start();