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

vtk学习——Pipeline

Pipeline

可视化管线是指用于获取或创建数据、处理数据以及把数据写入文件或者把数据传递给渲染引擎进行显示,这样的一种结构在 VTK 里就称为可视化管线。数据对象(Data Object)、处理对象(Process Object)和数据流向(Direction of Data Flow)是可视化管线的三个基本要素
image
从上图可以看到,我们从Source获取了多个输入数据源。它们各自通过不同的Filter进行处理后进行汇总,然后将结果送入mapper进行变换,再传入渲染引擎进行显示。

Source

数据源是Pipeline的入口,通常分为程序源对象(vtk中自带的各种Source)、读取源对象(从外部导入的数据)。Source是不接受输入的,但一定会有大于等于1的输出。
数据的读入往往通过vtk中提供的各种Reader来实现。

Filter

实际上指的是处理数据源的各种算法。Filter的输出既可以直接写入文件,也可以继续送往mapper进行变换后传入渲染引擎进行渲染。
image

Mapper

可视化管线的终点,将传入的数据变换为几何图元(点、线、多边形等)进行渲染。需要注意的是,后面还会遇到给显示物体着色之类的情况,但在mapper中,仅仅包含对于传入数据生成几何图元,并不包括操作其对应的属性数据。,对于属性数据的操作属于vtkActor的工作。

管线的执行

在vtk中,管线通过惰性赋值的方式执行。很好理解,只用当程序发出请求数据的命令时,管线才会执行一次。

  1. 用户手动调用某一部分的Update()函数时。
  2. 调用Render()函数。
    image

当我们调用Render()函数后,Actor会逐层向上请求数据,从而让整个管线得以执行。

http://www.hskmm.com/?act=detail&tid=31184

相关文章:

  • 长沙四大名校x东方project
  • Rust 的英文数字验证码识别系统设计与实现
  • IOS开发 - UIViewController 界面控制基类解析
  • SpringBoot运维实用篇(YW-1.SpringBoot程序的打包与运行,YW-2.配置高级,YW-3.多环境开发,YW-4.日志) - a
  • CSP-S模拟31
  • Fortran 实现英文数字验证码识别系统
  • 10.14 NOIP 模拟赛 T1. HappyLovelyEveryday!
  • CSP-J 2025 入门级模拟赛 Day6 复盘 B. 罐の水表
  • 10.14每日总结
  • 四边形不等式
  • 20251014 杂题
  • 二叉树的遍历
  • SQL在智能自动化业务场景中的应用 - Irving11
  • 拼接字符串要求字典序最小
  • 高级语言作业第一次随笔
  • C#实现开机自启动应用多种方式
  • 日志|二叉树|110平衡二叉树|111二叉树的最大深度|199二叉树的右视图
  • Chrome在Speedometer 3.1创下历史最高分,为用户节省数百万小时
  • 西电CTF平台——Moectf 2025 WriteUP
  • [笔记]并查集进阶(带权、扩展域、带删除)
  • 20251013 模拟赛 总结
  • 什么是反应式编程 - 详解
  • SDL3和其附属的编译记录
  • Qwen多模态系列模型笔记—Qwen2-VL
  • WPF 调用 ChangeWindowMessageFilterEx 修改指定窗口 (UIPI) 消息筛选器的用户界面特权隔离
  • 实验1 现代C++基础课程
  • 牙科诊所借力AI营销4个月创收13万
  • 10月14日日记
  • P4653 [CEOI 2017] Sure Bet
  • 20251014