1 Star 1 Fork 0

vulkan3D/VulkanSceneGraph

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
3个月前
Loading...
README
MIT

VulkanSceneGraph

VulkanSceneGraph (VSG), is a modern, cross platform, high performance scene graph library built upon Vulkan graphics/compute API. The software is written in C++17, and follows the CppCoreGuidelines and FOSS Best Practices. The source code is published under the MIT License, with the exception of vulkan.h, used for Vulkan extensions, which is under Apache License 2.0.

This repository contains C++ headers and source and CMake build scripts to build the libvsg library. Additional support libraries and examples are provided in separate repositories, links to these are provided below. The software currently builds under Linux (desktops variants through to Jetson & Raspberry Pi), Windows (VisualStudio, MinGW & Cygwin), Android, and macOS & iOS (using MoltenVk).

Links to further information

The vulkanscenegraph.org website provides a detailed list of features, tutorials and reference documentation, while this repository provides the source code and build support for creating the VulkanSceneGraph library. Quick links to resources hosted on the website:

  • Features - tour of features you'll find in the VulkanSceneGraph and companion projects.
  • Screenshots - screenshots from VulkanSceneGraph examples and 3rd party libraries and applications
  • Tutorials - mulit-part tutorial that takes you from introduction to scene graphs to multi-threading and optimization.
  • Documentation - doxygen generated reference documentation and links to 3rd party learning materials
  • Discussion - Discussion forum hosted on github.
  • Services - List of companies connected to the VulkanSceneGraph project that can provide professional services

Links to companion projects that offer additional features

Hosted as part of the vsg-dev:

  • vsgXchange reading and writing of 3rd party images and 3d models and HTTP support.
  • vsgExamples tests & examples.
  • osg2vsg OpenSceneGraph integration library that enables converting of OSG to VSG scene graph and use of OpenSceneGraph loaders.
  • vsgImGui ImGui integration enabling UI in graphics window.
  • vsgQt Qt integration with VulkanSceneGraph.
  • vsgPoints 3d point cloud loading and rendering for VulkanSceneGraph with database paging support and scalability up to billions of points.
  • vsgUnity plugin for Unity that provides export to native VulkanSceneGraph binary/ascii format.
  • MyFirstVsgApplication simple standalone VSG application that can be used as a template for your own applications.
  • vsgFramework template project that uses CMake FetchContent to pull in all the main libraries associated with VulkanSceneGraph and dependencies and builds them together.

Community projects:

  • vsgSDL SDL integration with VulkanSceneGraph.
  • vsgvr OpenVR integration with VulkanSceneGraph.
  • vsgCs 3D Tiles and Cesium ion integration
  • vsgEarth osgEarth integration
  • rocky 3D Geospatial Application Engine (Vulkan / C++17 / VSG). Pelican Mapping's successor to osgEarth.

Quick Guide to building the VSG

Prerequisites:

  • Required: C++17 compliant compiler i.e. g++ 7.3 or later, Clang 6.0 or later, Visual Studio S2017 or later.
  • Required: CMake 3.7 or later.
  • Required: Vulkan 1.1 or later.
  • Optional : glslang 14.0 or later. Only required if shader compilation at runtime is needed.

The above dependency versions are known to work so they've been set as the current minimum, it may be possible to build against older versions. If you find success with older versions let us know and we can update the version info.

While you can install Vulkan and glslang development libraries and headers from 3rd party repositoriesm these may be older, so for the latest versions you can also use the VulkanSDK provided by LunarG. Your can download VulkanSDK from LunarG, unpack into a local directory and set VULKAN_SDK environment variable to the include/lib directory within it.

Command line build instructions:

To build and install the static libvsg library (.a/.lib) in source:

git clone https://github.com/vsg-dev/VulkanSceneGraph.git
cd VulkanSceneGraph
cmake .
cmake --build . -j 16 -t install

Full details on how to build the VSG (Unix/Windows/Android/macOS) can be found in the INSTALL.md file.

MIT License Copyright(c) 2018 Robert Osfield Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

vulkan版本的OSG,目前处于快速开发时期,未来应该会很不错。 展开 收起
README
MIT
取消

发行版

暂无发行版

近期动态

2个月前同步了仓库
11个月前同步了仓库
1年前同步了仓库
1年前同步了仓库
1年前同步了仓库
加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/vulkan3d/VulkanSceneGraph.git
git@gitee.com:vulkan3d/VulkanSceneGraph.git
vulkan3d
VulkanSceneGraph
VulkanSceneGraph
master

搜索帮助