A distributed system for rendering 3D content with focus on bandwidth and resource efficiency
RAMSES is 3D rendering engine with focus on bandwidth and resource efficiency.
For a broader overview and introduction to the ecosystem and tools, visit our
homepage.
Have a look at our showcase video:
RAMSES can be cloned from its BMW Car IT repository using git:
git clone --recurse-submodules https://github.com/bmwcarit/ramses <ramses-sdk>
General building tips: RAMSES’s build system is based on CMake. It has
mandatory components and optional components which are built only if
required dependencies and/or CMake flags are present. The CMake log will
provide info what was built and what not - a ‘plus’ indicating that something
was built, and ‘minus’ that it wasn’t. If an optional component was not built,
CMake will list the missing dependencies which were not found or not built.
Check the CMake logs! Typical build errors:
Building RAMSES on Windows:
Building RAMSES on Linux with docker:
We prefer to build RAMSES in Docker because it abstracts the dependency installation
and the CMake invocations away from the user. Docker is installed slightly differently
on different distros, check the docker manual for your distro. The instructions below
are for Ubuntu 20.04 LTS:
apt install docker.io
groupadd docker #can fail if already exists
usermod –aG docker $USER
newgrp docker #logs you into the new group in the current terminal session
docker run hello-world #check that docker works
# build RAMSES docker container
cd <ramses-sdk>/scripts/docker
./build-basic-container.sh
# Start RAMSES docker
./start-basic-for-x11.sh # (on wayland-enabled systems, optionally: ./start-basic-for-wayland.sh)
# Inside docker container
./build-ramses.sh
# optionally - check if all RAMSES features work on your system
./run-unittests.sh
Building RAMSES on Linux (without docker):
-Install dependencies using Distro of choice package manager. For example, for Ubuntu:
sudo apt-get install libx11-dev libgles2-mesa-dev
mkdir <build>
cd <build>
cmake <ramses-sdk>
You can also check the docker container setup scripts for a reference how to build:
<ramses-sdk>/scripts/docker/ramses-basic/Dockerfile -> contains info about build dependencies
<ramses-sdk>/scripts/docker/runtime-files/build-ramses.sh -> contains CMake command for building
RAMSES original code is copyright BMW Car IT or BMW AG
Copyright (C) 20xx BMW Car IT GmbH
or Copyright (C) 20xx BMW AG
The source code is licensed under the Mozilla Public License 2.0, please find a
copy of that license in the LICENSE.txt file.
RAMSES makes use of several open source libraries which can be found in the folder ‘external’.
Some of these are shipped directly with the sourcecode, others are included as git submodule references.
RAMSES also includes some assets (e.g. font files) which are licensed under different open source licenses.
Directly included:
Submodule reference:
Included Assets: