Here, we describe scenery, an extensible framework for scientific visualisation of mesh and volumetric data that supports VR and AR. scenery supports a lot of input modalities -- apart from mouse and keyboard -- such as VRPN controllers, OpenVR/SteamVR controllers, gamepads, and eye trackers.
scenery runs on top of the Java VM and can be used on Windows, macOS and Linux. In case you dislike Java, fret not, for scenery is written in Kotlin, a new language that got rid of a lot of the boilerplate needed in Java, and provides a much nicer developer experience.
scenery is a framework and therefore intended as the basis for other visualisation tools. One such tool is its sister project sciview, a plugin for the popular Fiji image processing application, that makes all of scenery's features available via a user-friendly interface.
If you are a developer and want to develop your own scenery-based application, you've come to the right place! If you are already familiar with sciview, and want to extend its capabilities, you are right here as well! And in case you are an end-user looking for a visualisation tool you can use without any knowledge of programming, head over to the sciview documentation, or the sciview repository for information how to get started with sciview in Fiji.
For developing scenery, it's useful to know the basics of Kotlin. A great starting point for learning Kotlin are the Kotlin Koans, a set of small tutorials to get familiar with the language.
To get started with developing with scenery, head over to the Getting Started page, or if you're all set up already, start with Rendering Meshes.