开启左侧

Visualization ToolKit 资源汇总

[复制链接]
Princess 发表于 2021-8-16 16:13:18 | 显示全部楼层 |阅读模式
目前使用版本:9.0.3
官方GitLab:https://gitlab.kitware.com/vtk/vtk
官方下载:https://vtk.org/download/  包括源码、数据、Python包

C#版本:Activiz.NET(3D Visualization Library for .Net C# and Unity)
https://vtk.org/Wiki/VTK/CSharp/ActiViz.NET

如何编译:(网上一大把资料)
使用CMake(https://cmake.org/download/,windows建议下载类似cmake-3.21.1-windows-x86_64.zip这样的包)进行生成vs工程。
笔者使用都是最新的版本,Windows10_21H1(x64平台) + CMake 3.21.1 + VTK 9.0.3,一路畅通无阻,64位生成完成,VS2019 ALL_BUILD编译完成。

C++整合包
下载链接:https://pan.baidu.com/s/1ZMIODTGtin6eLkbFo9aRHw
提取码:
游客,本帖隐藏的内容需要积分高于 5 才可浏览,您当前积分为 0
整合包已经包含了VTK_9.0.3_SDK.7z这个SDK包,里面已经打包好了开发环境(VS2019_x64),直接可用于开发,由于符号库需要lib文件,已经生成了debug_lib_list.txt和release_lib_list.text直接拷贝里面内容粘贴到到链接器的输入依赖项中即可,不用再一个一个的写啦。

环境变量Path运行时设置:
  1. E:\VTK\VTK_9.0.3_SDK\bin\Debug
复制代码

最后使用的时候建议把bin目录下的Debug或者Release路径设置到系统环境变量Path里面就可以了,记得重启vs软件,这样就不用拷贝dll了。

例程:
  1. #include <iostream>
  2. #include <vtkActor.h>
  3. #include <vtkRenderer.h>
  4. #include <vtkRenderWindow.h>
  5. #include <vtkRenderWindowInteractor.h>
  6. #include <vtkInteractorStyleTrackballCamera.h>
  7. #include <vtkCylinderSource.h>
  8. #include <vtkPolyDataMapper.h>
  9. #include <vtkSmartPointer.h>
  10. #include <vtkAutoInit.h>
  11. VTK_MODULE_INIT(vtkRenderingOpenGL2);
  12. VTK_MODULE_INIT(vtkInteractionStyle);
  13. VTK_MODULE_INIT(vtkRenderingFreeType);
  14. using namespace std;

  15. int main(int argc, char* argv[])
  16. {
  17.         vtkSmartPointer<vtkCylinderSource> cylinder = vtkSmartPointer<vtkCylinderSource>::New();
  18.         cylinder->SetHeight(3.0);
  19.         cylinder->SetRadius(1.0);
  20.         cylinder->SetResolution(10);

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

  23.         vtkSmartPointer<vtkActor> cylinderActor = vtkSmartPointer<vtkActor>::New();
  24.         cylinderActor->SetMapper(cylinderMapper);

  25.         vtkSmartPointer<vtkRenderer> render = vtkSmartPointer<vtkRenderer>::New();
  26.         render->AddActor(cylinderActor);
  27.         render->SetBackground(0.1, 0.2, 0.4);

  28.         vtkSmartPointer<vtkRenderWindow> renWin = vtkSmartPointer<vtkRenderWindow>::New();
  29.         renWin->AddRenderer(render);
  30.         renWin->SetSize(300, 300);

  31.         vtkSmartPointer<vtkRenderWindowInteractor> iren = vtkSmartPointer<vtkRenderWindowInteractor>::New();
  32.         iren->SetRenderWindow(renWin);

  33.         vtkSmartPointer<vtkInteractorStyleTrackballCamera> style = vtkSmartPointer<vtkInteractorStyleTrackballCamera>::New();
  34.         iren->SetInteractorStyle(style);

  35.         iren->Initialize();
  36.         iren->Start();

  37.         std::cin.get();
  38.         return 0;
  39. }
复制代码

效果图像:
微信截图_20210816204123.png
学习书籍《VTK图形图像开发进阶》
qq27472007 发表于 2021-8-17 08:38:24 | 显示全部楼层
VTK耶,好东西,我还只是MARK阶段,后面不知道能不能学习起来,先马后看
tonghudan 发表于 2021-11-3 14:42:08 | 显示全部楼层
感谢分享,请问有ActiViz的9.0版本么
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表