GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - KFS-MASA/CSWUnity: Demo of Streaming Binary Data format in a Unity Application for Streaming Maps in realtime

BranchesTags
Open more actions menu
 
 

Latest commit

 

History

159 Commits
159 Commits

Folders and files

NameName
Last commit message
Last commit date
Saab.Foundation.Map.Manager.Test
Saab.Foundation.Map.Manager.Test
 
 
com.saab.map-streamer
com.saab.map-streamer
 
 
docs
docs
 
 
projects/com.saab.map-streamer
projects/com.saab.map-streamer
 
 
tutorial
tutorial
 
 
vs17/Install_Gizmo
vs17/Install_Gizmo
 
 
.gitignore
.gitignore
 
 
Build_x64.bat
Build_x64.bat
 
 
Build_x64_d.bat
Build_x64_d.bat
 
 
CHANGELOG.md
CHANGELOG.md
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
Clean.bat
Clean.bat
 
 
LICENSE
LICENSE
 
 
LICENSE.txt
LICENSE.txt
 
 
README.md
README.md
 
 
SAAB_ID.json
SAAB_ID.json
 
 
azure-pipelines.yml
azure-pipelines.yml
 
 

Repository files navigation

Streaming Map Demo

A Saab Dynamics demo of the Streaming Binary Data Architecture

This is a generic streaming API for 3D engines (Unity,Unreal...) that allows fast streaming updates of huge 3D datasets located in cloud, from disc or procedural.

This GIT repository will allow you to take a look at a Unity demo, written by the Open Saab Development community using the GizmoSDK code base from Saab Dynamics, Training & Simulation. Take a look at https://youtu.be/m2NsE8NBrB0

The open source and open documentation in here are to be considered as LGPL code and can be used in your own projects.

The binaries are licensed by Saab Dynamics. If you are interested in using this for commercial purposes, please contact

[email protected]

Setup

To run, open the Install_Gizmo.sln under directory 'vs17\Install_Gizmo' and select either Debug or Release for x64. Select only one configuration at a time. This will fetch NuGet packages for all components and update the Assets/Plugin folder with the correct binaries. The solution can deploy both Debug and Release versions for development, but only one deployed version should be used at a time. Do not mix Debug and Release versions. To clear the plugin folder, run 'Clean.bat'.

The maintained Install_Gizmo solution uses Visual Studio 2022 format and can also be opened by a later compatible Visual Studio version. Install .NET Core 3.1 support where it is required by the build projects. Platform-specific builds, such as ARM64 targets, require their corresponding supported solution and package configuration and must not be mixed with x64 binaries in the same Unity plugin deployment.

You could also simply just run the corresponding .bat script (build_x64, build_x64_d, etc..) and every thing will be setup correctly.

CDW installation guides

The following guides apply to users who run CSWUnity from a Cloud Development Workstation (CDW). They describe the complete CDW setup and Map Streamer demo workflow:

  1. CDW installation and system requirements
  2. Visual Studio installation
  3. Unity installation
  4. Map Streamer demo

Running the demo

Open the unity project found under the under directory 'projects\com.saab.map-streamer' and Press the "play" button in the Unity editor.

The T&S BTA reference architecture in this repository uses Unity 2021.3.17f1. Other Saab projects can have different Unity-version requirements and should follow their own ProjectSettings/ProjectVersion.txt file and approved dependency set. New projects may prefer Unity 6000.3.21f1 LTS after compatibility with the required CSWUnity, GizmoSDK and package dependencies has been verified.

keybinds:

  • WASD to move around
  • space, ctrl move up and down
  • Arrow keys to rotate the view
  • shift increase speed of movement

Note Win64 only right now Good Luck !

Technology Info

The demo is based on a 3D scenegraph written in native C++ that manages the logistics for loading/unloading data, LOD levels and transitions between LOD depending on what data is currently loaded. It uses up to 16 parallel threads to load data from multiple URL based datasources dynamically. The demo uses a large double precision coordinate system and a ROI (Region Of Interest) subsystem that translates HUGE coordinates into local islands of single precision data.

The system handles geocentric coordinate systems as well as flat UTM and other conic projections and provides a uniform WGS84 API to control all objects and queries.

The SceneGraph API also allows a fast intersector query to be performed to find ground features and clamp object to the ground.

The demo shows an example of SBD maps (Streaming Binary Data) that are quad or octree based spatial data in 3D. The format allows very large databases (entire globe) to be divided on multiple servers and that can have details down to (mm) in resolution.

Screenshot [A screenshot showing how feature/height data can be used to present trees with accurate position and height]

About

Demo of Streaming Binary Data format in a Unity Application for Streaming Maps in realtime

www.saabgroup.com

Resources

Readme
License

Contributing

Contributing
Activity
Custom properties

Stars

0 stars

Watchers

0 watching

Forks

0 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.