Annwvyn C++ Open Source designed-for-VR game engine and application developement framework
Devenoppement is happening on our Phabricator
Annwvyn is a simple C++ game engine built upon free and open source technologies to easily create applications and games tailored for Virtual Reality HMD.
This project is licensed under the terms of the MIT licence agreement.
For any questions, shout me a mail at [email protected].
Currently the engine supports :
Annwyn uses the OGRE rendering engine (version 2.1) in OpenGL mode, and send the rendered frames to the native SDKs of multiple types of VR systems. The engine simulate physics via Bullet, and generate spatial 3D audio via OpenAL
Please read the DEPENDENCIES file to know what you need to build it.
Specifically, the code needs a C++14 compliant compiler, and the dependency package is built with the lattest version of Visual Studio 2017 available
First, please install Visual Studio 2017 (the community version is free) from Microsoft.
Then, go get the SDK installer here https://www.annwvyn.org/download/ and run it. If near the end of the installer, a CMD window open asking about setting up environment variables, say yes.
The installer needs to set the location of Annwvyn into an environement variable to easilly find everything with CMake.
After that, if you need to update the engine to the current master branch, see the "Updating the engine" section below.
Please install Oculus Home, or SteamVR and the lattest drivers from your graphics card manufacturer.
As stated in the DEPEDENCIES file, you should download the SDK from https://annwvyn.org/ The SDK has everything to build Annwwvyn itself, so you can hack into it by this way to. It's a Source+Binary package.
But, if you really want to build and setup the engine yourself, here's a simple guide how to do it
RUNME.BAT
script from this folder (found in the dependency package you extracted earlier)INSTALL
project, and build it.INSTALL
part) in the example subdirectorygetLibs.bat
script (you really should). But here's the list if you want to check
If you have an Oculus Rift plugged in (or in Debug HMD mode), or a Vive with SteamVR open you can launch the example program via the HMD_launcher.bat scripts in the example directory. (using the one that correspond to your hardware)
The only supported renderer on Linux is the OpenVR one. You should install Steam, and SteamVR on your box before doing anything.
You need to have the libraries described in the DEPENDENCIES file, and every libraries needed to build Ogre 2.1 with json, zip, and OpenGL support.
Everything regarding building Ogre, BtOgre21, Annwvyn, and Annwvyn powered projects is done via CMake.*
If you are with CMake, in a terminal, just navigate to a source directory that contains an CMakeLists.txt
file and do the following:
#if a "build" directory doesn't exist, create one
mkdir build
cd build
cmake ..
make
#if you need to "install" the software
sudo make install
You will need to build Ogre yourself. Once you have Ogre 2.1 and Bullet Physics installed on your system, you need to build and install BtOgre21.
Currently, some of the libraries that are either distributed in binary for only, and the CMakeScripts are available in this repository that needs to be clonned inside your home directory : https://github.com/Ybalrid/AnnwvynDeps
Annwvyn works (has been tested) with the following configuration:
vulkan-devel
metapackage.Make a copy of the "template" directory to a convenient location for you, and you are basically ready to go. It contains a CMakeLists.txt that will permit you to generate build files.
Inside your build directory, you need to copy over some libraries, there are getLibs.bat
for windows and linuxGetLibs.sh
for linux scripts that will do that for you if everything was installed correctly.
Make sure to put Visual Studio build in Release/x64 mode before building! The debug mode target will work but you need ot copy over debug-compatible version of the libraries. They aren't packaged conviniently for that yet. (comming soon).
On windows you need to have a environment variable "AnnwvynSDK64" set to the SDK location. This is done automatically by the SDK installer, but if you encounter problem, you should run again the RUNME.bat script on the SDK installation folder.
You should check out the quickstart page on the Wiki
Run "git pull" on the Annwvyn sub-directory, and re-run CMake, then rebuild from the build repository. You may need to manually update the dependencies
Clean and build the solution.
If you have build errors, you should download the newest SDK and put it in place of the older one. You can also replace the content of your SDK folder (except the Annwvyn directory) with the dependency package from https://www.annwvyn.org/download/
If you are getting error regarding functions with names that start's with "VR", you need to upgrade the OpenVR package. Just git pull from the OpenVR directory and copy over the dll.
If you are getting errors regarding functions with names that starts with "ovr_", you need to upgrade the OculusSDK. This require you to rebuild the libtray with /MD(d) runtime linkage, but I'll recomedn you to get the new dependency package.
If you want more information about the project, please consult the official website (https://annwvyn.org/). It also contains documentation about the code.
This project is in it's really early phases of development. If you have any question, feel free to contact me directly at [email protected]
License MIT.