All Projects → GENIVI → Ramses

GENIVI / Ramses

Licence: mpl-2.0
A distributed system for rendering 3D content with focus on bandwidth and resource efficiency

Labels

Projects that are alternatives of or similar to Ramses

Rust Psp
Rust on PSP. Panic and allocation support. Access PSP system libraries.
Stars: ✭ 265 (-12.83%)
Mutual labels:  graphics
Djv
Professional media review software for VFX, animation, and film production
Stars: ✭ 282 (-7.24%)
Mutual labels:  graphics
Enterprisepbrshadingmodel
Stars: ✭ 299 (-1.64%)
Mutual labels:  graphics
Edxray
A physically based renderer which implements many state of the art techniques in light transport simulation, material modeling, sampling and reconstruction.
Stars: ✭ 270 (-11.18%)
Mutual labels:  graphics
Game Programmer Study Notes
⚓ 我的游戏程序员生涯的读书笔记合辑。你可以把它看作一个加强版的Blog。涉及图形学、实时渲染、编程实践、GPU编程、设计模式、软件工程等内容。Keep Reading , Keep Writing , Keep Coding.
Stars: ✭ 6,050 (+1890.13%)
Mutual labels:  graphics
Drawio Desktop
drawio-desktop is a diagramming and whiteboarding desktop app based on Electron that wraps the core draw.io editor.
Stars: ✭ 24,780 (+8051.32%)
Mutual labels:  graphics
Cloner
An example of use of procedural instancing.
Stars: ✭ 260 (-14.47%)
Mutual labels:  graphics
Cuda voxelizer
CUDA Voxelizer to convert polygon meshes into annotated voxel grids
Stars: ✭ 299 (-1.64%)
Mutual labels:  graphics
Bansheeengine
Modern C++14 game engine with Vulkan support, fully featured editor and C# scripting
Stars: ✭ 2,906 (+855.92%)
Mutual labels:  graphics
Rpt
A physically-based path tracer
Stars: ✭ 296 (-2.63%)
Mutual labels:  graphics
Rdsystem
Reaction-diffusion system with CustomRenderTexture.
Stars: ✭ 271 (-10.86%)
Mutual labels:  graphics
Photosketch
Code for Photo-Sketching: Inferring Contour Drawings from Images 🐶
Stars: ✭ 278 (-8.55%)
Mutual labels:  graphics
Mojs
The motion graphics toolbelt for the web
Stars: ✭ 17,189 (+5554.28%)
Mutual labels:  graphics
Ofelia
A real-time cross-platform creative coding tool for multimedia development
Stars: ✭ 269 (-11.51%)
Mutual labels:  graphics
Luxor.jl
Simple drawings using vector graphics; Cairo "for tourists!"
Stars: ✭ 293 (-3.62%)
Mutual labels:  graphics
Diligentcore
Core functionality of Diligent Engine
Stars: ✭ 263 (-13.49%)
Mutual labels:  graphics
Ggeditor
A visual graph editor based on G6 and React
Stars: ✭ 3,220 (+959.21%)
Mutual labels:  graphics
Three Mesh Bvh
A BVH implementation to speed up raycasting against three.js meshes.
Stars: ✭ 302 (-0.66%)
Mutual labels:  graphics
Star
ECCV2020 - Official code repository for the paper : STAR - A Sparse Trained Articulated Human Body Regressor
Stars: ✭ 296 (-2.63%)
Mutual labels:  graphics
Depthinverseprojection
An example showing how to inverse-project depth samples into the view/world space in Unity.
Stars: ✭ 296 (-2.63%)
Mutual labels:  graphics

Table of Contents

What is RAMSES

RAMSES is an abbreviation for "Rendering Architecture for Multi-Screen EnvironmentS". It implements a distributed system for rendering 3D content with focus on bandwidth and resource efficiency.

Have a look at our showcase video: RAMSES Distributed Rendering Engine Showcase Video

You can find additional resources here:

Obtaining the source code

RAMSES can be cloned from its Genivi repository using git:

git clone https://github.com/GENIVI/ramses <ramses-sdk>
cd <ramses-sdk>
git submodule update --init --recursive

If you use the https variant, you will not get the required dependencies and have to download them yourself! Therefore we strongly advise to use the 'git' protocol for download as shown above.

Building and testing

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:

  • not able to find a compiler -> Check that you have a valid compiler!
  • not able to find something in external/ folder -> Check that you downloaded the submodules as shown in section 2.)
  • CMake can't identify the compiler of Visual studio Community edition -> You need to download a Windows SDK 8.1
  • No renderer was built on linux -> Check that you have installed some of the platform packages (x11-dev, egl, openGL, wayland)

Building RAMSES on Windows:

  • start CMake GUI
  • select as source path, choose arbitrary folder. Configure If you want to build the tests, set 'ramses-sdk_BUILD_TESTS' to true in the CMake cache. generate -> open solution in Visual Studio.

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 18.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

License

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:

  • ACME2 (Licensed under Apache 2.0)
  • cityhash (Licensed under MIT License)
  • Khronos Headers (Licensed under Khronos Group License)
  • lodepng (Licensed under zlib License)
  • Wayland-IVI Extension (Licensed under MIT License)
  • Wayland-IVI example client (Licensed under MIT License)

Submodule reference:

  • Freetype 2 (Licensed under FTL, also containing code under BSD and ZLib)
  • GLSLang (Licensed under BSD-3 and Khronos Group License)
  • Googletest (Licensed under BSD-3)
  • Harfbuzz (Licensed under MIT and ISC; see external/harfbuzz/COPYING)
  • Asio (Boost Software License - Version 1.0)
  • LZ4 (Licensed under BSD-2; see also external/lz4/LICENSE for more details)
  • {fmt} (Licensed under MIT License)
  • ImGui (Licensed under MIT License)
  • Abseil (Licensed under Apache 2.0; see also external/abseil/LICENSE for more details)

Included Assets:

  • Roboto Font (Licensed under Apache 2.0)
  • M+ Font (Licensed under Public Domain)
  • WenQuanYi MicroHei (Licensed under Apache 2.0)
  • Arimo Font (Licensed under Apache 2.0)
  • Droid Kufi Font (Licensed under Apache 2.0)
  • Droid Naskh Font (Licensed under Apache 2.0)
  • Satisfy Font (Licensed under Apache 2.0)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].