VTK安装(C++)并配置vs

准备工作:

        1.VTK下载包(此教程使用VTK8.2.0)

        2.CMAKE(此教程使用3.29.0)   在此不过多赘述,可在网上搜索cmake安装

        3.visual studio(此教程使用vs2019)


VTK下载及编译:

        1、找到自己适合的VTK版本,我选择的是VTK8.2.0。

                1.1 官网下载:Download | VTK

                1.2 百度网盘:https://pan.baidu.com/s/1sF1WxwbQhtcYEpapHTxQ6w?pwd=1111 

        下载之后进行解压到自己想要解压的路径。

       2、VTK编译:

                2.1 打开CMake,将含有CMakeLists.txt文件的vtk文件夹路径放入Where is the source code输入框中

                2.2建立一个新的文件夹,将其填入Where to build the binaries的输入框中

接着点击Configure,选择自己的Vs版本,我的是vs2019版本的,所以选择vs2019

        接下来点击Generate进行生成。

        第一次生成之后,会报红,选择CMAKE_INSTALL_PREFIX填写一下自己的安装前缀。安装前缀是自己创建的文件夹,如果填写一个不存在的文件夹,cmake会自动创建。建议建立到vtk目录下。

将VTK_USE_LARGE_DATA取消再次点击Generate进行生成

生成之后,点击Open Project,即可通过vs2019打开此文件,至此CMake完成。


进入到VS2019的vtk项目之中,如果想要生成release版本就直接选择vs2019的release版本,然后再进行ALL_BUILD生成,如果想要生成debug版本,就选择debug之后再进行生成。

       生成之后打开vtk中的prefix文件夹中的内容是这样的:

       


配置自己的系统环境变量:

        打开环境配置界面:此电脑--->右键属性--->高级系统设置--->环境变量--->在系统变量中的Path双击打开。

将:D:\vtk8.2\release\bin路径设置进去

接下来就可以配置自己项目中的vtk了:

        打开一个vs项目,右键解决方案资源管理器,打开VC++目录:

包含目录配置如下:

库目录配置

然后在vtk的lib目录中,写一个文本文件,名字为release.txt,然后内容为:

        dir *.lib /B >re.txt  然后改为bat类型的文件,保存之后运行,会生成当前文件夹下所有的lib文件夹的名称。复制进链接器的输入中的附加依赖项里面。

        接下来就可以进行测试了:

#include <vtkActor.h>
#include <vtkCamera.h>
#include <vtkCylinderSource.h>
#include <vtkNamedColors.h>
#include <vtkPolyDataMapper.h>
#include <vtkProperty.h>
#include <vtkRenderWindow.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkRenderer.h>
#include <vtkSmartPointer.h>

#include <array>

#include <vtkAutoInit.h>
VTK_MODULE_INIT(vtkRenderingOpenGL2); //未使用cmake生成的项目需要加
VTK_MODULE_INIT(vtkInteractionStyle);//未使用cmake生成的项目需要加

int main()
{//hello vtk程序

	vtkSmartPointer<vtkNamedColors> colors =
		vtkSmartPointer<vtkNamedColors>::New();

	std::array<unsigned char, 4> bkg{ { 26, 51, 102, 255 } };
	colors->SetColor("BkgColor", bkg.data());

	vtkSmartPointer<vtkCylinderSource> cylinder =
		vtkSmartPointer<vtkCylinderSource>::New();
	cylinder->SetResolution(8);

	vtkSmartPointer<vtkPolyDataMapper> cylinderMapper =
		vtkSmartPointer<vtkPolyDataMapper>::New();
	cylinderMapper->SetInputConnection(cylinder->GetOutputPort());

	vtkSmartPointer<vtkActor> cylinderActor = vtkSmartPointer<vtkActor>::New();
	cylinderActor->SetMapper(cylinderMapper);
	cylinderActor->GetProperty()->SetColor(
		colors->GetColor4d("Tomato").GetData());
	cylinderActor->RotateX(30.0);
	cylinderActor->RotateY(-45.0);

	vtkSmartPointer<vtkRenderer> renderer = vtkSmartPointer<vtkRenderer>::New();
	renderer->AddActor(cylinderActor);
	renderer->SetBackground(colors->GetColor3d("BkgColor").GetData());

	renderer->ResetCamera();
	renderer->GetActiveCamera()->Zoom(1.5);

	vtkSmartPointer<vtkRenderWindow> renderWindow =
		vtkSmartPointer<vtkRenderWindow>::New();
	renderWindow->SetSize(300, 300);
	renderWindow->AddRenderer(renderer);
	renderWindow->SetWindowName("Cylinder");

	vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor =
		vtkSmartPointer<vtkRenderWindowInteractor>::New();
	renderWindowInteractor->SetRenderWindow(renderWindow);

	renderWindow->Render();
	renderWindowInteractor->Start();
	return 0;

}

        以此笔记!

  • 22
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农永闯天涯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值