当前位置: 首页 > news >正文

VTK的Mapper

类vtkMapper及其派生类,把输入的数据转换成几何图元(例如转换成点,转换成线,转换成面等)进行渲染。该类存储需要进行渲染的数据,和一些渲染信息。

我们经常能在vtk程序中看到vtkImageActor(派生自vtkActor)使用vtkActor::SetMapper()函数。该函数设置生成几何图元的Mapper,也就是说把负责图像显示和渲染的渲染引擎vtkActor连接到生成用于渲染的几何图元的Mapper。

再举一个示例:

我们首先加载一个三维数据进来,然后通过MarchingCubes算法提取出等值面。

        vtkSmartPointer<vtkStructuredPointsReader> reader = 
		vtkSmartPointer<vtkStructuredPointsReader>::New();
	reader->SetFileName("image.mhd");

	vtkSmartPointer<vtkMarchingCubes> marchingCubes = 
		vtkSmartPointer<vtkMarchingCubes>::New();
	marchingCubes->SetInputConnection(reader->GetOutputPort());
	marchingCubes->SetValue(0,500);

然后我们使用Mapper类:

	vtkSmartPointer<vtkPolyDataMapper> mapper = 
		vtkSmartPointer<vtkPolyDataMapper>::New();
	mapper->SetInputConnection(marchingCubes->GetOutputPort());

在这里,我们把提取出来的数据在Mapper类里转化为多边形数据,生成多边形Mapper。

之后把数据送到渲染引擎

	vtkSmartPointer<vtkActor> actor = vtkSmartPointer<vtkActor>::New();
	actor->SetMapper(mapper);

这就是Mapper的主要作用和流程。接下来的内容都是与渲染引擎设置有关的部分了。

人们常说在一个可视化管线中,Mapper是作为可视化管线的终点。首先说一下可视化管线,这里跟国外渲染领域所说的可视化管线不太一样,这里只包括获得(以及创建)要显示的数据,然后对数据进行初步的处理,然后把数据传递给渲染引擎。渲染引擎不属于可视化管线的一部分。

相关文章:

  • VTK交互系统 1 交互模式入门
  • VTK显示像素图
  • VTK交互系统 2 交互器样式
  • VTK交互系统 3 自定义交互器样式
  • VTK交互系统 4 自定义交互器样式2 键盘鼠标交互器设置
  • Qt多线程1
  • Qt多线程2
  • 基于QT的文件管理软件编写 系列 引言
  • 基于QT的文件管理软件编写 系列 1
  • python安装tensorflow
  • 机器学习之 Keras默认数据集/模型存放位置
  • 从零开始写出分而治之查找最大子列表的算法
  • 学机器学习必备的一些python句法基础 1 列表 元组 字典 条件语句
  • 学机器学习必备的一些python句法基础 2 循环
  • 学机器学习必备的一些python句法基础 3 函数 内建函数 模块 包 全局局部变量
  • 【刷算法】从上往下打印二叉树
  • ABAP的include关键字,Java的import, C的include和C4C ABSL 的import比较
  • angular学习第一篇-----环境搭建
  • js中的正则表达式入门
  • MobX
  • node和express搭建代理服务器(源码)
  • php的插入排序,通过双层for循环
  • 从零开始的无人驾驶 1
  • 二维平面内的碰撞检测【一】
  • 基于web的全景—— Pannellum小试
  • 京东美团研发面经
  • 排序(1):冒泡排序
  • 盘点那些不知名却常用的 Git 操作
  • 区块链共识机制优缺点对比都是什么
  • 试着探索高并发下的系统架构面貌
  • 树莓派 - 使用须知
  • 双管齐下,VMware的容器新战略
  • 思考 CSS 架构
  • 与 ConTeXt MkIV 官方文档的接驳
  • 选择阿里云数据库HBase版十大理由
  • # Apache SeaTunnel 究竟是什么?
  • #pragma data_seg 共享数据区(转)
  • #我与Java虚拟机的故事#连载15:完整阅读的第一本技术书籍
  • (23)Linux的软硬连接
  • (办公)springboot配置aop处理请求.
  • (二)WCF的Binding模型
  • (附源码)springboot教学评价 毕业设计 641310
  • (附源码)ssm教材管理系统 毕业设计 011229
  • (论文阅读32/100)Flowing convnets for human pose estimation in videos
  • (免费领源码)Java#Springboot#mysql农产品销售管理系统47627-计算机毕业设计项目选题推荐
  • (三)docker:Dockerfile构建容器运行jar包
  • (三)终结任务
  • (三分钟)速览传统边缘检测算子
  • (学习日记)2024.01.09
  • (转)Android学习笔记 --- android任务栈和启动模式
  • (转)Android学习系列(31)--App自动化之使用Ant编译项目多渠道打包
  • (转)c++ std::pair 与 std::make
  • (转)可以带来幸福的一本书
  • (轉貼) UML中文FAQ (OO) (UML)
  • .mysql secret在哪_MySQL如何使用索引