Qt 与 VTK 在实现 3D 效果上的优劣

来源:互联网 发布:cnzz数据专家 编辑:程序博客网 时间:2024/06/06 00:30

Qt

Qt 简介

  • Qt 是一个跨平台 C++ 图形用户界面应用程序开发框架

Qt 特点

  • 支持 2D/3D 图形渲染
  • 支持 OpenGL

Qt 能实现什么

  • 渲染图
  • 剖面图
  • 纹理图
  • 逆向渲染
  • 内置不同风格的渲染主题。
  • 根据点的坐标,计算点之间的距离(直线距离、竖直距离、水平距离)。
  • 调整观察视角
  • 以上功能,全部基于 Q3DSurface 实现。
  • 可以进行基于体素的体绘制。
  • 此外,Qt 提供了 OpenGLWidget 窗口控件可以结合 OpenGL 的功能。
  • Qt 可以加载 Vtk 为支持 Qt 而提供的 QVTKWidget。

Vtk

Vtk 简介

  • Vtk (visualization toolkit)是一个开源,跨平台、支持并行处理的图形应用函数库
  • Vtk 是采用面向对象的设计思想对3维函数库 OpenGL 的封装。它的内核是用C++构建的,包含有大约250,000行代码,2000多个类。

Vtk 特点

  • 支持 OpenGL
  • 支持 Qt。提供了 QVTKWidget 可以作为 Qt 的窗口部件进行嵌入和调用。
  • 高性能。Vtk 的体系结构使其具有非常好的流streaming 和高速缓存caching 的能力,在处理大量的数据时不必考虑内存资源的限制。Vtk 曾用于处理大小近乎1个 Petabyte 的资料,其平台为美国Los Alamos国家实验室所有的具1024个处理器之大型系统。2005年时曾被美国陆军研究实验室用于即时模拟俄罗斯制反导弹战车 ZSU23-4 受到平面波攻击的情形,其计算节点高达2.5兆之多。

Vtk 能实现什么

  • 渲染图
  • 剖面图
  • 纹理图
  • 支持基于体素的体绘制。
  • 支持对光源的渲染。

Qt 与 Vtk

  • 从功能丰富程度。Vtk>Qt
  • 从程序运行效率、性能上考虑,Vtk>Qt
  • 从时间成本上考虑。Qt比较容易使用,目前大部分功能已经用Qt都已实现。Vtk具有一套自己的关于图形绘制的概念体系,熟练掌握Vtk至少需要一个月的时间。