The VTS-Browser-CPP is a multiplatform lightweight C++ client library, adding more variability and operability to VTS Geospatial. The VTS-Browser-CPP library has been in development for several years now and is a stable and well-supported part of VTS Geospatial.
C++ library is built on top of OpenGL and benefits from its advantages as compared to WebGL, such as 3D textures, the broader scale of shaders, vertex array objects, and instanced drawing. The library is designed to be used with any other rendering API such as Vulkan, Direct X or Metal.
The library provides high degree of flexibility - almost any aspect can be changed through configuration. You may switch between different loading strategies and navigation modes, change target memory limit, trade network bandwidth for details, etc.
One of the most beautiful things about the library is the realistic physical atmosphere, which you can see on following video. The atmosphere is absolutely authentic, from street level to a view from space. It’s simply mesmerising.
The library runs stable on Windows, Linux, macOS, iOS, and there is also experimental support for UWP and Web Assembly. A significant reception was gained by a plugin that integrates VTS browser capabilities into Unity - one of the two most popular game engines nowadays.
The Unity plugin is available for free at the Unity Asset Store. The plugin includes several basic demo apps. Moreover, to prove the advanced capabilities of the VTS plugin, we created three sample games and published its source codes on GitHub. Those games are VTS Jet Fighter - a game involving flying with an aircraft jet over the landscape, VTSMageddon - a zombie apocalypse game, and VTS Driving - a multiplayer racing car game.
The library interface is a clean C++, and there are also C and C# bindings available to let developers meet their needs and preferences. The library is usable on less common platforms, such as different onboard devices and embedded systems. To learn more about the vts-browser-cpp library, a good starting point is its GitHub repository, where you can find more detailed information and documentation. At the project’s wiki, there are also links to some sample applications for different platforms, that you may take advantage of to explore library capabilities. A basic desktop application shows off a generic project with a rich UI that features configuration adjustment on the fly, performance statistics, search panel, and a placemark editor. Minimal Browser shows a simple application that renders a map that can be mouse-navigated and aims at introducing the core concepts in vts-browser-cpp development. Its source code is available in all C, C++ and C#. Other sample apps are available at Wasm app, an iOS app for Apple devotees and several more accessible directly from the browser library source directory.
Feel free to play around with the provided examples. In case you get stuck, do not hesitate to reach out to us.
Tomáš's expertise lies in computer graphics. His responsibility is vts-browser-cpp, the C++ client library forming part of the VTS 3D Geospatial Software stack. The library is cross-platform, and cross-form-factor and its applications include the Unity plugin, currently available in the Unity asset store.