vtk学习教程(一)
参考博客:02-VTK编译安装_DolingStudio的博客-CSDN博客_vtk 编译
首先是一个最简单的vtk程序:
#include"vtkRenderWindow.h"
#include"vtkSmartPointer.h"int main()
{//vtk实例化对象vtkSmartPointer<vtkRenderWindow> renWin = vtkSmartPointer<vtkRenderWindow>::New();renWin->Render();//调用vtkRenderWindow里的方法显示并渲染VTK窗口std::cin.get();//让程序暂停下来,等待接受用户的输入,但是似乎用起来有点问题return 0;
}
以下参考博客:03-VTK基础概念(1)_DolingStudio的博客-CSDN博客_vtk
#include "vtkSmartPointer.h"
#include "vtkRenderWindow.h"
#include "vtkRenderer.h"
#include "vtkRenderWindowInteractor.h"
#include "vtkInteractorStyleTrackballCamera.h"
#include "vtkCylinderSource.h"
#include "vtkPolyDataMapper.h"
#include "vtkActor.h"
#include "vtkBMPReader.h"
#include "vtkTexture.h"int 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());//VTK可视化管线的输入数据接口//vtkActor,派生自vtkProp类,渲染场景中数据的可视化表达是通过vtkProp的子类负责的//vtkProp子类负责确定渲染场景中对象的位置、大小和方向信息vtkSmartPointer<vtkActor> cylinderActor =vtkSmartPointer<vtkActor>::New();cylinderActor->SetMapper(cylinderMapper);//Mapper(vtkMapper)对象,负责存放数据和渲染信息//负责管理场景的渲染过程//组成场景的所有对象包括Prop,照相机(Camera)和光照(Light)都被集中在一个vtkRenderer对象中//一个vtkRenderWindow中可以有多个vtkRenderer对象,而这些vtkRenderer可以渲染在窗口中不同的矩形区域中vtkSmartPointer<vtkRenderer> renderer =vtkSmartPointer<vtkRenderer>::New();renderer->AddActor(cylinderActor);//添加vtkProp类型的对象到渲染场景中//用于设置渲染场景的背景颜色,用R、G、B的格式设置,三个分量的取值为0.0~ 1.0//(0.0,0.0, 0.0)为黑色,(1.0,1.0, 1.0)为白色renderer->SetBackground(0.1, 0.2, 0.4);//将操作系统与VTK渲染引擎连接到一起。//不同平台下的vtkRenderWindow子类负责本地计算机系统中窗口创建和渲染过程管理vtkSmartPointer<vtkRenderWindow> renWin =vtkSmartPointer<vtkRenderWindow>::New();renWin->AddRenderer(renderer);//加入vtkRenderer对象renWin->SetSize(300, 300);//设置窗口的大小,以像素为单位//提供平台独立的响应鼠标、键盘和时钟事件的交互机制//通过VTK的Command/Observer设计模式将监听到的特定平台的鼠标//键盘和时钟事件交由vtkInteractorObserver或其子类vtkSmartPointer<vtkRenderWindowInteractor> iren =vtkSmartPointer<vtkRenderWindowInteractor>::New();iren->SetRenderWindow(renWin);//设置渲染窗口,消息是通过渲染窗口捕获到的,所以必须要给交互器对象设置渲染窗口//交互器样式的一种,该样式下,用户是通过控制相机对物体作旋转、放大、缩小等操作vtkSmartPointer<vtkInteractorStyleTrackballCamera> style =vtkSmartPointer<vtkInteractorStyleTrackballCamera>::New();iren->SetInteractorStyle(style);//定义交互器样式,默认的交互样式为vtkInteractorStyleSwitchiren->Initialize();iren->Start();return 0;
}
vtk学习教程(一)相关推荐
- Vyond制作2D动画学习教程
Vyond为2D动画提供了极其简单的分解视频创建过程. 你会学到什么 课程获取:Vyond制作2D动画学习教程-云桥网 您将学习如何为2d动画制作画外音 您将学习如何使用Vyond轻松创建精彩的动画视 ...
- MAYA 2022基础入门学习教程
流派:电子学习| MP4 |视频:h264,1280×720 |音频:AAC,48.0 KHz 语言:英语+中英文字幕(根据原英文字幕机译更准确)|大小解压后:3.41 GB |时长:4.5小时 包含 ...
- 3dmax Vray建筑可视化入门学习教程
面向初学者的3Ds Max Vray最佳Archviz可视化课程 从安装到最终图像的一切都将从头开始教授,不需要任何经验 大小解压后:3.25G 时长4h 6m 1280X720 MP4 语言:英语+ ...
- Unity 创建2D平台游戏开发学习教程
了解如何使用C#在Unity中创建您的第一款2D平台游戏 你会学到什么 使用Unity创建2D奥运会 使用可脚本化的对象和单一模式 使用良好的编程实践 创造武器和射弹 使用可脚本化的对象和委托模式创建 ...
- Blender 3.0基础入门学习教程 Introduction to Blender 3.0
成为Blender通才,通过这个基于项目的循序渐进课程学习所有主题的基础知识. 你会学到什么 教程获取:Blender 3.0基础入门学习教程 Introduction to Blender 3.0- ...
- UE5废墟破坏游戏场景创建学习教程
为游戏创建毁坏的资产–深入教程课程 了解一个专业的环境艺术家在为游戏创建毁坏的资产时是如何工作的.您将学习正确的资产规划.创建模块化资产.创建损坏的混凝土和柱子.创建损坏的木材/地板.创建碎石堆.模拟 ...
- Maya游戏角色绑定入门学习教程 Game Character Rigging for Beginners in Maya
准备好开始为游戏制作自己的角色动画了吗? 你会学到什么 了解Maya的界面 优化并准备好你的模型,为游戏做准备 了解关节以及如何使用它们来构建健壮的角色骨骼,以便在任何游戏引擎中制作动画 了解IK和F ...
- UE4材质着色器全面学习教程
你会学到什么 通过所有着色器类型和设计的实际演示,学习创建材质 要求 对虚幻的基本理解会有所帮助 了解纹理的一般知识(不仅限于UE4)也很有用 描述 在这个系列中,我将带你设置大量不同的材料,教你如何 ...
- 虚幻引擎的数学知识学习教程 Math for Unreal Engine (Early Preview)
通过做真实世界的 Unreal Engine项目来学习数学 你会学到什么 理解游戏开发对数学的基本需求 将数学直接应用到用例中,而不是钻研理论(用我们的示例项目进行实践) 正确编辑短视频,节省您的时间 ...
- 三维地形制作软件 World Machine 基础入门学习教程
<World Machine课程>涵盖了你需要的一切,让你有一个坚实的基础来构建自己的高质量的电影或视频游戏地形. 你会学到什么 为渲染或游戏开发创建高分辨率.高细节的地形. 基于Worl ...
最新文章
- JetsonXavier/Tx2性能测试比对
- linux c下,从路径名中分离文件名
- 让Source Insight完美支持中文注释 (转)
- [工具]-文件明文导出工具
- MATLAB gui 欢迎界面 插入图片
- DRM-widevine 总结
- 【实用技巧】下载音乐到本地电脑
- 菲尼克斯电源维修QUINT4-UPS/24DC/24DC
- 如何删除下一页分节符_怎么去掉分节符下一页
- 2018中科院计算所夏令营面试经历
- 怎样从 Google Play 下载 Android 程序到电脑上
- 罗技G502 HERO 主要的DPI灯光突然不亮了
- 你不知道的雍正八年版《连平州志》
- 构建ROP链实现远程栈溢出
- EOS 一周回顾(11.25-12.1)
- FMT(基于rtthread)开源代码编译 win10下编译环境搭建及编译
- async.js 学习教程(一)
- JQuery极果商城项目实战(附完整代码)
- 按键精灵---- 手机按键利用插件读取文本
- 删除链表的结点——《剑指offer》
热门文章
- 对recv函数的一些理解
- 解决安装C4D打不开的问题 Cinema 4D R25 Mac中英文 支持M1intel处理器(附经验分享——lib4d文件如何导入)
- 关于能力模型的思考总结
- gdal、geos的 windows编译 openCL加速
- phpspider在PHP7环境下运行错误的解决办法
- 微信小程序下拉刷新组件加载图片(三个小点)不显示的问题
- 如何一小时登上微信头脑王者王者段位
- 推荐一款java微信答题小程序源码知识竞赛问答pk头脑答题游戏
- 计算机在小学英语中的应用,计算机在小学英语教学中的应用.doc
- springboot集成微信公众号文章推送