返回官方版本更新
版本更新
2026-05-20
5 分钟阅读
VTK 9.6 更新说明
VTK 9.6 官方 Release Notes 的中文整理,聚焦构建、核心、数据模型、过滤器、I/O、渲染、Python 与 WebAssembly 的关键变化。
VTK 9.6 是一次覆盖面很广的版本更新,重点集中在构建系统、核心性能、数据模型、I/O、渲染、Python 以及 WebAssembly 相关能力。对中文项目来说,最值得优先核对的是构建选项、废弃接口、并行与多线程行为、以及 Python / WASM 绑定方式的变化。
版本概览
- 官方发布于
2026-02-09。 - 本页内容基于 VTK 9.5.2 之后的变更。
- 官方把更新分为 New Features、Changes、Fixes/improvements、Deprecations/Removals、Updates 和 Patch Releases。
关键变化
构建
- 新增
VTK_USE_HDF5_THREAD_SAFETY,可以在构建时启用 HDF5 线程安全,便于在多线程环境里并发读取 HDF5 文件。 vtk_module_build()新增PLATFORM_TARGET参数,可把平台相关的编译和链接标志自动传播给消费者。
核心
- 新增
vtkPExecutableRunner,用于多进程场景下更精确地控制命令在哪些进程上执行。 vtkDataAssembly的节点遍历做了优化,GetChild等常见调用更快。vtkObject的 observer 管理改成了更高效的数据结构,AddObserver和RemoveObserver的开销更低。- 大量
GetVoidPointer()用法被替换,以减少不必要的数据复制。 vtkArrayDispatch、vtkDataArrayPrivate、vtkFieldData等路径也都有明显性能提升。vtkMaybeUnused宏已移除,建议改用标准属性[[maybe_unused]]。
数据模型
vtkCellValidator的缺陷状态枚举被扩展并移动到vtkCellStatus.h,vtkPolygon和vtkPolyhedron现在能报告更多缺陷。vtkArrayCalculator现在支持任意长度向量定义语法{x, y, z, ...}。vtkDataSet::GetCellTypes已被弃用,建议迁移到GetDistinctCellTypes。vtkUnstructuredGrid的 cell types 改用vtkDataArray承载,便于使用vtkConstantArray<unsigned char>。vtkCleanPolyData、vtkStaticPointLocator、vtkSurfaceNets3D、vtkRedistributeDataSetFilter等组件都包含修复。

过滤器
vtkThresholdPoints的上下界阈值规则与vtkThreshold保持一致。vtkImageInterpolator在小尺寸图像上的三次插值结果得到修正。- 分布式 HTG 的 ghost cell 和元数据交换问题已修复。
vtkTableBasedClipDataSet新增GenerateClipPointType,并修复了重复点问题。vtkMeshQuality现在支持非线性单元的Verdict指标。
I/O
- 多个 reader 现在支持通过
vtkResourceStream读取流式数据,包括 STL、PTS、HDF、CityGML、OpenVDB、DICOM、3DS 和 OBJ 相关读取器。 - Conduit 导出时,点数组和单元数组同名的情况会被正确区分。
vtkPDALReader可以读取 LAS/LAZ 元数据中的偏移量。vtkDelimitedTextWriter新增数值记法和精度控制。vtkIOSSReader与vtkIOSSWriter也补齐了若干并行读写能力。
渲染
vtkCompositePolyDataMapper现在可以给复合数据单独贴图。- PBR 渲染器加入了基于 image-based lighting 的多重散射近似。

Python
- 复合数组现在可以像普通数组一样直接配合 numpy 使用。
- 过去通过
algs访问的 numpy 相关算法,现在可以直接走 numpy 的常用接口。 - VTK 的 Python wrappers 已支持 Python 3.13+ 的 free-threading 模式。
Java
- 官方修复了 Java 相关的部分回归,涉及渲染初始化与运行时兼容性问题。
Interaction
vtkCameraOrientationWidget的相机重置行为现在可以由ShouldResetCamera控制。vtkBiDimensionalRepresentation2D对非 XY 视图平面做了泛化处理。- macOS 的 timer crash、线段控件属性更新、box widget 交互都得到了修复和改进。
Annotation
- 标量条的
VerticalTitleSeparation现在即使在水平标量条上也会生效,标题间距更一致。 vtkPolarAxesActor的文本显示也有改进。

Charts
vtkChartXY::CalculateBarPlots现在会把 shift 和 scale 变换纳入柱宽计算。

Core 性能图

其他重要修复
vtkDICOMImageReader修复了科学计数法元数据的读取问题。- Win32 event loop 不再忙等,空闲时 CPU 占用明显下降。
vtkMapper在处理 Below Range / Above Range 颜色时修复了浮点误差引发的映射问题。vtkSSAAPass在多视口环境中的渲染问题已修复。
WebAssembly
- WASM 构建继续增强,覆盖 JavaScript 包装、自定义模块序列化、独立 WASM 应用和线程池控制等能力。

升级建议
- 先在独立环境里验证构建,重点检查 CMake 选项、第三方库版本和链接结果。
- 跑一遍最小渲染示例,确认图表、标量条、复合数据渲染和交互组件没有回归。
- 如果项目使用 Python 或 WASM 绑定,优先检查依赖版本、打包脚本和导入路径。
- 涉及废弃接口时,先把
GetCellTypes、vtkMaybeUnused等改法整理出来,再做整体升级。
原文链接
反馈
发现内容错误、链接失效或希望补充案例,可以提交反馈。