StuCanvas 简介
StuCanvas 是一个基于 Vulkan 的开源渲染引擎,用于实时与离线科学可视化。
本篇文档介绍 StuCanvas 的部署、使用和扩展方法。
功能模块
StuCanvas 将计算机图形学、CAD 工程和数值计算集成于 C++ API。
1. 参数化建模(2D 与 3D)
以数学方式定义 2D 和 3D 几何结构。该模块采用有向无环图(DAG)执行引擎,支持拉伸、扫掠和布尔等参数化建模操作,实时计算数学关系并构建拓扑表示。
2. 动态几何
创建和处理几何约束。该模块针对更新频率高的交互操作设计,更新顶点和索引缓冲区,支持几何操作。
3. 函数绘制
StuCanvas 将绘图分类为黑盒标量函数与区间定义函数。该模块结合区间算术、L-SHADE 全局搜索算法以及 Marching Squares 和 Marching Cubes 算法,用于提取边界、根与奇异点,并渲染拓扑特征。
4. 非线性编辑(NLE)架构与并发
采用非线性编辑(NLE)架构,支持
5. 渲染与 OpenPBR
提供 C++ API,支持实时预览与离线导出。它利用 Vulkan 光线追踪(VK_KHR_ray_tracing_pipeline),并实现 OpenPBR 材质规范,可渲染玻璃、金属晶格与物理光学效果,计算折射、反射和次表面散射。
6. 硬件视频导出
通过 GPU 编码接口(如 NVIDIA NVENC、AMD AMF 和 Intel QuickSync)导出渲染画面,不依赖外部 FFmpeg 二进制文件。支持 AV1、H.265 (HEVC) 和 H.264 格式,分辨率支持至 8192×8192 (8K),直接捕获帧缓冲区。
相关指南
使用 StuCanvas 请参考: