VulkansCeneGraph(VSG)是一个现代的跨平台,高性能场景图库,建立在Vulkan图形/计算API的基础上。该软件用C ++ 17编写,并遵循CPPCoreGuidelines和FOSS最佳实践。源代码是根据MIT许可证发布的,除了Vulkan.h以外,用于Vulkan扩展名,该扩展名为Apache许可证2.0。
该存储库包含C ++标头,源和CMake构建脚本以构建LIBVSG库。在单独的存储库中提供了其他支持库和示例,下面提供了指向这些的链接。该软件当前在Linux(台式机变体到Jetson&Raspberry Pi),Windows(VisualStudio,Mingw&Cygwin),Android以及Macos&ios(使用MoltenVK)下构建。
链接到更多信息
vulkanscenegraph.org网站提供了功能,教程和参考文档的详细列表,而此存储库提供了源代码和构建支持,以创建VulkanSceneGraph库。快速链接到网站上托管的资源:
- 功能 - 在VulkansCenegraph和Companion项目中找到的功能之旅。
- 屏幕截图 - 来自VulkansCenegraph示例和第三方库和应用程序的屏幕截图
- 教程 - mulit-part教程,将您从介绍到场景图到多线程和优化。
- 文档 - doxygen生成的参考文档和第三方学习材料的链接
- 讨论 - 在Github上主持的讨论论坛。
- 服务 - 连接到VulkansCenegraph项目的公司清单,该项目可以提供专业服务
提供其他功能的伴侣项目的链接
作为VSG-DEV的一部分托管:
- 第三方图像和3D模型以及HTTP支持的VSGXchange读取和写作。
- VSGEXAMPLES测试和示例。
- OSG2VSG OpenSceneGraph集成库,该库可以将OSG转换为VSG场景图并使用OpenSceneGraph加载器。
- VSGIMGUI IMGUI集成在图形窗口中启用UI。
- VSGQT QT与VulkansCeneGraph集成。
- VSGPOINTS 3D点云加载和VulkansCeneGraph的渲染,并具有数据库分页支持和可扩展性,最高可达数十亿点。
- vSgunity插件的Unity插件,可向本机VulkansCenegraph二进制/ASCII格式导出。
- MyFirstvSgapplication简单独立VSG应用程序,可用作您自己的应用程序的模板。
- VSGFramework模板项目使用CMake FetchContent来吸引与VulkansCenegraph和依赖关系相关的所有主要库,并将它们构建在一起。
社区项目:
- VSGSDL SDL与VulkansCeneGraph集成。
- VSGVR OpenVR与VulkansCeneGraph集成。
- VSGCS 3D瓷砖和纤维离子整合
- VSGEARTH OSGEARTH集成
- 岩石3D地理空间应用引擎(Vulkan / C ++ 17 / VSG)。 Pelican映射的继任者是Osgeerth。
快速构建VSG的指南
先决条件:
- 必需:C ++ 17符合的编译器IE G ++ 7.3或更高版本,Clang 6.0或更高版本,Visual Studio S2017或更高版本。
- 必需:CMAKE 3.7或更高版本。
- 必需:Vulkan 1.1或更高版本。
- 可选:GLSLANG 14.0或更高版本。仅当需要在运行时进行着色器汇编时才需要。
已知上述依赖性版本可以正常工作,因此将其设置为当前最小值,可能可以根据较旧版本进行构建。如果您发现旧版本的成功,请告知我们,我们可以更新版本信息。
虽然您可以在第三方存储库中安装Vulkan和Glslang开发库以及标题,但它们可能会较早,因此,对于最新版本,您也可以使用Lunarg提供的VulkansDK。您可以从Lunarg下载VulkansDK,将其拆开到本地目录中,并将vulkan_sdk环境变量设置为Include/lib目录。
命令行构建说明:
在来源中构建和安装静态LIBVSG库(.A/.lib):
git clone https://github.com/vsg-dev/VulkanSceneGraph.git
cd VulkanSceneGraph
cmake .
cmake --build . -j 16 -t install
有关如何构建VSG(UNIX/Windows/Android/MacOS)的完整详细信息,请参见install.md文件。