Vulkanscenegraph(VSG)は、Vulkanグラフィックス/コンピューテAPIの上に構築されたモダンなクロスプラットフォーム、高性能シーングラフライブラリです。このソフトウェアはC ++ 17で記述されており、CPPCoreGuidelinesとFOSSのベストプラクティスに従います。ソースコードは、vulkan.hを除き、MITライセンスに基づいて公開されています。これは、Apacheライセンス2.0の下にあるVulkan拡張機能に使用されます。
このリポジトリには、C ++ヘッダーとソースおよびCmakeビルドスクリプトが含まれており、LIBVSGライブラリを構築しています。追加のサポートライブラリと例は別々のリポジトリで提供されており、これらへのリンクを以下に示します。このソフトウェアは現在、Linux(デスクトップバリアントをJetson&Raspberry Piに至るまで)、Windows(VisualStudio、Mingw&Cygwin)、Android、およびMacos&iOS(MoltenVKを使用)の下に構築しています。
詳細情報へのリンク
vulkanscenegraph.orgのWebサイトは、機能、チュートリアル、参照ドキュメントの詳細なリストを提供し、このリポジトリはソースコードを提供し、Vulkanscenegraphライブラリを作成するためのサポートを構築します。ウェブサイトでホストされているリソースへのクイックリンク:
- 機能 - Vulkanscenegraphとコンパニオンプロジェクトにある機能のツアー。
- スクリーンショット - Vulkanscenegraphの例とサードパーティの図書館とアプリケーションのスクリーンショット
- チュートリアル-Mulit-Partチュートリアルは、シーングラフの紹介からマルチスレッドと最適化まで紹介します。
- ドキュメント-Doxygen生成された参照ドキュメントとサードパーティの学習資料へのリンク
- ディスカッション - Githubでホストされているディスカッションフォーラム。
- サービス - プロフェッショナルサービスを提供できるVulkanscenegraphプロジェクトに関連する企業のリスト
追加機能を提供するコンパニオンプロジェクトへのリンク
VSG-DEVの一部としてホストされています:
- vsgxchangeサードパーティの画像と3DモデルとHTTPサポートの読み取りと執筆。
- vsgexamplesテストと例。
- OSG2VSG OpenSceneGraph Integration Libraryは、OSGをVSGシーングラフに変換し、OpenSceneGraphローダーの使用を可能にします。
- グラフィックスウィンドウでUIを有効にするvsgimgui imgui統合。
- VSGQT QT vulkanscenegraphとの統合。
- VSGPoints 3Dポイントクラウドの読み込みとレンダリングデータベースのページングサポートと数十億ポイントまでのスケーラビリティを備えたVulkanscenegraphのレンダリング。
- Native Vulkanscenegraphバイナリ/ASCII形式にエクスポートするUnityのためのVSGunityプラグイン。
- MyFirstVSGApplication独自のアプリケーションのテンプレートとして使用できるSimple StandAlone VSGアプリケーション。
- cmake fetchcontentを使用して、Vulkanscenegraphおよび依存関係に関連するすべてのメインライブラリを引き込み、それらを一緒に構築するVSGFrameworkテンプレートプロジェクト。
コミュニティプロジェクト:
- VSGSDL SDL Vulkanscenegraphとの統合。
- VSGVR openvr vulkanscenegraphとの統合。
- VSGCS 3Dタイルおよびセシウムイオン統合
- vsgearth Osgearth統合
- ロッキー3D地理空間アプリケーションエンジン(Vulkan / C ++ 17 / VSG)。 Pelican MappingのOsgeerthの後継者。
VSGを構築するためのクイックガイド
前提条件:
- 必須:C ++ 17準拠コンパイラ、つまりG ++ 7.3以降、Clang 6.0以降、Visual Studio S2017以降。
- 必須:cmake 3.7以降。
- 必須:Vulkan 1.1以降。
- オプション:Glslang 14.0以降。実行時にシェーダーコンパイルが必要な場合にのみ必要です。
上記の依存関係バージョンは機能することが知られているため、現在の最小値として設定されているため、古いバージョンに対してビルドすることが可能です。古いバージョンで成功した場合は、お知らせください。バージョン情報を更新できます。
VulkanおよびGlslang Development LibrariesとHeadersからサードパーティリポジトリエムのヘッダーをインストールすることはできますが、これらは古い場合があります。最新のバージョンでは、Lunargが提供するVulkansdkを使用することもできます。 LunargからVulkansdkをダウンロードし、ローカルディレクトリに開梱し、Vulkan_Sdk環境変数をその中のinclude/libディレクトリに設定できます。
コマンドラインのビルド手順:
Static 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ファイルにあります。