1. vulkan简介

Vulkan 是由 Khronos Group 推出的一个 低开销、跨平台、面向现代硬件的图形与计算 API(应用编程接口)。它是 OpenGL 的“继任者”,也是和 DirectX 12、Metal(苹果) 同级别的新一代 GPU 编程接口。

VSG编译条件

名称说明推荐版本
CMake构建工具≥3.18(建议3.27+)
Visual StudioC++编译器2019或2022,含C++开发工具集
Vulkan SDKVulkan图形API开发包≥1.1.70.0(建议最新)
Git获取VSG源码最新

Vulkan 可以干什么?

  1. 3D 图形渲染:
    做游戏、图形软件(比如3D建模、虚拟现实)、CAD、可视化等,Vulkan 可以直接控制 GPU 渲染图形。

  2. 计算任务(GPGPU):
    除了图形,Vulkan 也可以做 GPU 计算任务(类似 CUDA、OpenCL),例如图像处理、AI 推理等。

  3. 跨平台开发:
    支持 Windows、Linux、Android、Steam Deck 等(苹果系不支持,但有 MoltenVK 可转 Metal)。

  4. 高性能、低开销:
    Vulkan 设计之初就为多核CPU和现代GPU架构,允许开发者手工控制内存管理、命令队列、同步等,提升性能,适合复杂、高帧率应用(如大型游戏或仿真)。

与其他图形库的比较

特性VulkanOpenGLDirectX 12
控制粒度低级(开发者全控制)高级(自动管理多)低级
性能高(更少CPU开销)中(有驱动开销)高
易用性难(需要写更多代码)简单(易入门)难(类似 Vulkan)
跨平台跨平台(Win/Linux/Android等)跨平台仅Windows/Xbox
多线程渲染支持好(原生)差(几乎不支持)好

2. 支持 Vulkan 的主要开源库/框架

  • VTK:实验性 Vulkan backend,但 OpenGL 仍是默认。
  • bgfx / Filament / Magnum /Diligent Engine:完整且成熟的 Vulkan 支持,适合替代 OpenGL。
  • SDL2 / GLFW / Qt6:适合Vulkan 窗口和输入管理。
  • Dear ImGui:可轻松接 Vulkan 作为 GUI。
  • 游戏引擎(Unreal/Godot/Unity):已完全支持 Vulkan。

2.1 图形/渲染框架

库 / 框架Vulkan 支持情况说明
VTK正在开发中(部分分支支持)VTK 9.x 实验性 Vulkan 支持,但主分支仍主要基于 OpenGL。Vulkan backend 计划中(未默认启用)。
bgfx✔️ 完整支持跨平台渲染库,可选后端包括 Vulkan、OpenGL、DirectX。
Magnum✔️ 好现代 C++ 渲染引擎,支持 Vulkan + OpenGL。
Filament (Google)✔️ 完整 Vulkan 渲染后端专业级 PBR 渲染引擎,适用于移动、AR、桌面。
Diligent Engine✔️ 完整跨平台现代图形库,支持 Vulkan、D3D12、Metal。
Ashes✔️ 纯 Vulkan 渲染框架专为 Vulkan 设计,简化多平台渲染。
OGRE-next (OGRE 2.x)✔️ 正在集成经典 3D 引擎 OGRE 的新版,Vulkan 渲染器开发中。

2.2 GUI & 计算框架

库 / 框架Vulkan 支持情况说明
Dear ImGui✔️(通过 backend)提供 Vulkan backend 示例,可用于 Vulkan 渲染。
SDL2✔️创建 Vulkan 窗口、处理输入。
Qt 6.x✔️QVulkanWindow、QShader 等,支持 Vulkan。
GLFW✔️提供 Vulkan 窗口 surface 支持。
Vulkan-Hpp✔️官方 Vulkan C++ header(仅 API 封装)。

2.3 计算/图形混合框架

库 / 框架Vulkan 支持情况说明
TensorFlow (GPU)✔️(部分分支)Vulkan Compute 实验性支持,尚不普及。
MLIR / SPIR-V✔️Vulkan Compute Shader 的 IR 格式。
OpenCV❌(未官方支持 Vulkan)仍以 OpenCL/CUDA/Metal 为主,Vulkan compute shader 尚未原生支持。

2.4 游戏引擎

引擎Vulkan 支持情况说明
Unreal Engine✔️(默认)UE4/UE5 完全支持 Vulkan。
Unity✔️各平台支持 Vulkan。
Godot 4.x✔️(默认渲染器)Godot 4.0 以 Vulkan 为核心。

3. Vulkan 进展

科学计算/可视化领域中“可能替代 VTK 且支持 Vulkan”的库 目前确实不多,但以下是经过筛选和分析的可行方案(根据 2025 年现状):
🎯 整体概述是:

需求推荐
想继续 VTK 生态等待 VTK Vulkan 后端
轻量级、自控管线Filament / Diligent Engine
教育、交互式科学工具Godot 4.x + Vulkan
极致性能 + 自写算法Vulkan Native + ImGui + GLM
简化 OpenGL 替代bgfx

3.1.🎯 VTK 本身(Vulkan backend) — 未来可考虑

  • 状态:实验性(部分分支 / 未来主线规划)
  • 参考:vtkRenderingVulkan module(目前未默认启用)。
  • 适用场景:若坚持使用 VTK 生态,未来可能直接升级到 Vulkan 版本,无需改太多代码。
  • 风险:目前尚未正式发布/稳定,2026年或更晚正式可用。

3.2.🎯 Filament(Google) — 科学可视化潜力股

  • 语言:C++
  • 支持:Vulkan、OpenGL、Metal
  • 特点:
    • 专业级 PBR 渲染器(图形质量远超 VTK OpenGL)。
    • 支持 3D 网格、曲面、体绘制(Volume Rendering),适合科学/医疗/工程可视化。
    • 拥有 Vulkan 专用后端,且 Google 在积极维护。
  • 缺点:
    • 没有 VTK 那样的“高阶可视化”模块(如等值面、流线、切片)。
    • 需自行扩展可视化算法。
  • 适用场景:高性能 3D 显示、科学渲染、VR/AR。
  • 👉 GitHub: https://github.com/google/filament

3.3.🎯 Diligent Engine — 科学与通用计算结合者

  • 语言:C++
  • 支持:Vulkan、D3D12、OpenGL、Metal
  • 特点:
    • 支持图形与计算(Compute Shader)。
    • 适合需要图形+科学计算(如点云、体积渲染)的场景。
    • 提供封装的高效图形管线,可类比 VTK 的低层封装。
  • 缺点:
    • 无现成高阶科学可视化组件(需手写 pipeline)。
    • 学习曲线略高。
    • 适用场景:高性能科学渲染,尤其是自定义几何、点云处理。
  • 👉 GitHub: https://github.com/DiligentGraphics/DiligentEngine

3.4.🎯 bgfx — 跨平台简单图形库

  • 语言:C++
  • 支持:Vulkan、OpenGL、Metal、D3D
  • 特点:
    • 易于集成。
    • 支持 Mesh、Volume 渲染(但需自写)。
  • 缺点:
    • 没有 VTK 的算法库(如 Marching Cubes)。
    • 适用场景:轻量 3D 显示、科学模型渲染。
  • 👉 GitHub: https://github.com/bkaradzic/bgfx

3.5.🎯 Godot 4.x Engine(改为科学可视化)

  • 语言:C++ / GDScript
  • 支持:Vulkan(默认)、OpenGL
  • 特点:
    • 强大且免费。
    • 支持 Volume、Shader 编程、3D 模型处理。
  • 缺点:
    • 专为游戏设计,科学计算需自己扩展。
    • 适用场景:交互性强的 3D 科学应用(如虚拟实验室、教育可视化)。
  • 👉 官网: https://godotengine.org/

⚠️ 不推荐的原因

库原因
OpenCV没有 Vulkan 渲染/可视化支持。
Assimp仅为模型导入,无渲染能力。
VTK 9.x(OpenGL 分支)仍旧以 OpenGL 为主,无 Vulkan 渲染。

3.6.🎯 Vulkan 原生 + Dear ImGui + GLM + SPIR-V (纯定制方案)

如果你要做:

  • 自定义点云/网格渲染。
  • 科学级 Volume Rendering。
  • 完全控制渲染管线(如 VTK 的 Marching Cubes / Clip Plane / Streamlines 等)。

可以考虑直接用 Vulkan 原生:

  • GLM:数学库(代替 VTK 的数学)。
  • SPIR-V Cross/Reflect:Shader 编译器。
  • Dear ImGui Vulkan backend:作为科学工具 GUI。
  • 自写 compute pipeline:支持科学计算(代替 VTK filter)。

✔️ 性能极致,❌ 代码工作量巨大。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐