当前位置: 首页 > 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.jsqmd.com/news/13726/

相关文章:

  • 长沙四大名校x东方project
  • Rust 的英文数字验证码识别系统设计与实现
  • IOS开发 - UIViewController 界面控制基类解析
  • SpringBoot运维实用篇(YW-1.SpringBoot程序的打包与运行,YW-2.配置高级,YW-3.多环境开发,YW-4.日志) - a
  • CSP-S模拟31
  • matlab 2025b + adalm-pluto 链接测试
  • Fortran 实现英文数字验证码识别系统
  • 10.14 NOIP 模拟赛 T1. HappyLovelyEveryday!
  • P3111 [USACO14DEC] Cow Jog S 题解 - 符星珞
  • Patch_SCN for Linux 功能完善---惜分飞
  • SQL在智能自动化业务场景中的应用 - Irving11
  • 20251014 杂题
  • 完整教程:Android Framework默认给应用添加dangerous级别权限
  • 20251013 模拟赛 总结
  • 高级语言作业第一次随笔
  • .net Core资料
  • 吾の歌单
  • 什么是反应式编程 - 详解
  • SDL3和其附属的编译记录
  • Qwen多模态系列模型笔记—Qwen2-VL
  • k8s Service Nodeport 用于集群外部访问
  • WPF 调用 ChangeWindowMessageFilterEx 修改指定窗口 (UIPI) 消息筛选器的用户界面特权隔离
  • 机器学习比赛
  • 牙科诊所借力AI营销4个月创收13万
  • 10月14日日记
  • P4653 [CEOI 2017] Sure Bet
  • 20251014
  • 歌词本。 - Slayer
  • 2025.10.14 正睿二十连测
  • singleton_pattern