探索科学可视化新纪元:VisRTX
去发现同类优质开源项目:https://gitcode.com/
VisRTX 是一个针对科学可视化的实验性实现,它基于 Khronos ANARI 标准,并由 NVIDIA 的 HPC 可视化开发技术团队打造。这个项目旨在跟踪并响应 ANARI 标准的发展,同时尽可能提供有用的扩展功能。对于希望实施 ANARI 后端的开发者来说,VisRTX 提供了一个完善的 GPU 加速、光线追踪基础的示例。
请注意,VisRTX 的 ANARI 实现与之前的版本有显著不同,如果您对旧版本感兴趣,请参考 v0.1.6 版本。
如果你有任何反馈或问题,欢迎立即创建问题!
构建与安装
VisRTX 支持 Linux 和 Windows 系统。构建过程需要以下组件:
- CMake 3.17 或更高版本
- 支持 C++17 的编译器
- NVIDIA 驱动 495 或以上版本
- CUDA 11.3.1 或更高版本
- OptiX 7.4 或更新版本
- ANARI-SDK 0.8.0
通过在源代码目录外新建一个构建目录并调用 CMake 来完成构建。例如:
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=path/to/desired/install /path/to/visrtx/source
make
make install
记得设置 CMAKE_PREFIX_PATH
以包含 OptiX 和 ANARI-SDK 的安装路径,或者在运行时将 libanari_library_visrtx
添加到 LD_LIBRARY_PATH
。
示例应用
除了核心 ANARI 库,VisRTX 还提供了简单的教程应用程序,展示如何通过 ANARI API 使用 VisRTX。同时,还有可选的交互式示例应用,通过启用 VISRTX_BUILD_INTERACTIVE_EXAMPLE
选项(在 CMake 中添加 -DVISRTX_BUILD_INTERACTIVE_EXAMPLE=ON
)来构建。该示例应用依赖于 GLFW。
功能概述
VisRTX 实现了 ANARI 的多种标准和扩展特性,包括:
自定义扩展
- VISRTX_CUDA_OUTPUT_BUFFERS:允许直接从帧对象映射 CUDA GPU 缓冲区,方便已经在使用 CUDA 的应用程序。
- VISRTX_TRIANGLE_ATTRIBUTE_INDEXING(实验性):为
triangle
几何子类型提供额外的属性索引。
设备与帧属性
设备可以设置一个名为 "cudaDevice"
的 INT32
参数选择渲染使用的 CUDA GPU。帧对象则支持查询当前积累的像素样本数量(numSamples
)以及下一帧是否会重置积累状态(nextFrameReset
)。
此外,VisRTX 已经实现了诸多 ANARI 扩展,如 1D 区域数组、辅助缓冲区、正交相机、物理材质、曲面几何体等等。任何发现的扩展功能中的错误都可以通过创建问题进行报告。
应用场景
VisRTX 在科学可视化领域有着广泛的应用潜力,无论是用于高级的数据洞察,还是交互式的原型设计和演示,都能发挥其强大的图形处理能力。此外,由于其高度定制化的特点,也可以应用于需要高效GPU加速和复杂光线追踪效果的游戏引擎、建筑设计软件中。
项目特点
- 完整的 ANARI 实现:VisRTX 跟踪并实现了 Khronos ANARI 标准,提供了一个全面的基础框架。
- GPU 加速:利用 NVIDIA 的 CUDA 和 OptiX 技术,实现高效的光线追踪性能。
- 实验性扩展:独特的一维数组区域、曲面几何体属性索引等功能,为开发者提供了更多的可能性。
- 易用性:附带教程应用和交互式示例,帮助快速上手使用。
如果你追求高性能的科学可视化解决方案,那么 VisRTX 必定是值得尝试的选择。立即加入 VisRTX 的社区,开启你的创新之旅吧!
去发现同类优质开源项目:https://gitcode.com/
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考