RAMSES. TECHNICAL OVERVIEW.

Similar documents
From Separated ECUs to a Display Cluster April 18, 2018

Streaming Massive Environments From Zero to 200MPH

Creating outstanding digital cockpits with Qt Automotive Suite

OpenGL on Android. Lecture 7. Android and Low-level Optimizations Summer School. 27 July 2015

PERFORMANCE OPTIMIZATIONS FOR AUTOMOTIVE SOFTWARE

Coding OpenGL ES 3.0 for Better Graphics Quality

Wayland IVI Extension

What s New (and better) in Qt

Optimizing and Profiling Unity Games for Mobile Platforms. Angelo Theodorou Senior Software Engineer, MPG Gamelab 2014, 25 th -27 th June

Mali Developer Resources. Kevin Ho ARM Taiwan FAE

Hardware Accelerated Graphics for High Performance JavaFX Mobile Applications

QtWayland. Creating Window Compositors with the QtWayland module

Mobile HW and Bandwidth

Shaders. Slide credit to Prof. Zwicker

EFL at ELC 2016 A toolkit for developping efficient and attractive Uis on embedded devices

Introduction to creating 3D UI with BeagleBoard. ESC-341 Presented by Diego Dompe

Viewport 2.0 API Porting Guide for Locators

UI, Graphics & EFL. Carsten Haitzler Principal Engineer Samsung Electronics Korea Founder/Leader Enlightenment / EFL

CS450/550. Pipeline Architecture. Adapted From: Angel and Shreiner: Interactive Computer Graphics6E Addison-Wesley 2012

Tools To Get Great Graphics Performance

Examination of Evaluation Method in High Load Use Case for IVI System Panasonic Corporation Takehiko Yasuda

Bringing AAA graphics to mobile platforms. Niklas Smedberg Senior Engine Programmer, Epic Games

Leveraging webos Technologies for Automotive. Lokesh Kumar Goel / Steve Lemke

Profiling and Debugging Games on Mobile Platforms

Hands-On Workshop: 3D Automotive Graphics on Connected Radios Using Rayleigh and OpenGL ES 2.0

Or select Reset button under the application button (3ds Max symbol top left of screen)

Computer Science 175. Introduction to Computer Graphics lib175 time: m/w 2:30-4:00 pm place:md g125 section times: tba

Adding Advanced Shader Features and Handling Fragmentation

An Introduction to Android. Jason Chen Developer Advocate Google I/O 2008

Experiences Developing a Wayland-Based Tizen IVI HMI. Ossama Othman

I expect to interact in class with the students, so I expect students to be engaged. (no laptops, smartphones,...) (fig)

Why you should be excited about Qt 5

3D on the Web Why We Need Declarative 3D Arguments for an W3C Incubator Group

Overview. Technology Details. D/AVE NX Preliminary Product Brief

Vulkan Multipass mobile deferred done right

What s New in DI-Guy 12.5

Experiences Developing a Wayland Based IVI HMI. Ossama Othman 28 May 2013

Graphics Performance Analyzer for Android

ArcGIS Runtime: Maximizing Performance of Your Apps. Will Jarvis and Ralf Gottschalk

Accelerating Realism with the (NVIDIA Scene Graph)

Free Downloads OpenGL ES 3.0 Programming Guide

WebGL Seminar: O3D. Alexander Lokhman Tampere University of Technology

Dan Henderlong July 27, 2017

Using the PowerVR SDK to Optimize your Renderer

NVIDIA FX Composer. Developer Presentation June 2004

Graphics Programming. Computer Graphics, VT 2016 Lecture 2, Chapter 2. Fredrik Nysjö Centre for Image analysis Uppsala University

Siggraph Agenda. Usability & Productivity. FX Composer 2.5. Usability & Productivity 9/12/2008 9:16 AM

AUTOMOTIVE HMI DESIGN AT ITS BEST.

Benchmarking Real-World In-Vehicle Applications

Real-Time Rendering (Echtzeitgraphik) Michael Wimmer

GPGPU on Mobile Devices

MXwendler Fragment Shader Development Reference Version 1.0

AUTOMOTIVE HMI DESIGN AT ITS BEST.

UberFlow: A GPU-Based Particle Engine

POWERVR MBX & SGX OpenVG Support and Resources

2018 Feature Comparison

Understanding M3G 2.0 and its Effect on Producing Exceptional 3D Java-Based Graphics. Sean Ellis Consultant Graphics Engineer ARM, Maidenhead

Qt for Device Creation

Visibility optimizations

Inside Biosphere3D The free digital globe from a developer prospect. Steffen Ernst

An imperative approach to video user experiences using LUNA

Rendering Objects. Need to transform all geometry then

Many rendering scenarios, such as battle scenes or urban environments, require rendering of large numbers of autonomous characters.

Porting Tizen-IVI 3.0 to an ARM based SoC Platform

Qualcomm Snapdragon Profiler

The PowerVR Insider SDK. PowerVR Developer Technology

PowerVR Framework. October 2015

OpenGL ES 2.0 SDK for Android. Mali. User Guide. Version: Copyright 2011 ARM. All rights reserved. ARM DUI 0587A (ID120411)

Game Programming with. presented by Nathan Baur

Mobile Performance Tools and GPU Performance Tuning. Lars M. Bishop, NVIDIA Handheld DevTech Jason Allen, NVIDIA Handheld DevTools

Area View Kit DC AVK. Features. Applications

PowerVR: Getting Great Graphics Performance with the PowerVR Insider SDK. PowerVR Developer Technology

CS 450: COMPUTER GRAPHICS REVIEW: INTRODUCTION TO COMPUTER GRAPHICS SPRING 2016 DR. MICHAEL J. REALE

The Rendering Pipeline (1)

Windowing System on a 3D Pipeline. February 2005

GPU Ray Tracing at the Desktop and in the Cloud. Phillip Miller, NVIDIA Ludwig von Reiche, mental images

Module 13C: Using The 3D Graphics APIs OpenGL ES

Performance Driven Development on Low- Cost Embedded Hardware Increasing Return-On-Investment & shortening time-to-market

SCIENTIFIC VISUALIZATION ON GPU CLUSTERS PETER MESSMER, NVIDIA

Optimizing Mobile Games with Gameloft and ARM

Core Graphics and OpenGL ES. Dr. Sarah Abraham

Safe Multi-Display Cockpit Controller

GPU Performance Analysis. Mali. User Guide. Version: 2.2. Copyright 2009 ARM. All rights reserved. DUI 0502A (ID101409)

NVIDIA Parallel Nsight. Jeff Kiel

S7316: Real-Time Robotics Control and Simulation for Deformable Terrain Applications Using the GPU

At NVIDIA, being a GPU company, clearly rendering performance is the area we re going to concentrate on, as that s where we can help the most.

Computer Graphics CS 543 Lecture 1 (Part I) Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)

Introduction to 3D Modelling in Vectorworks

MultiDroid: A Novel Solution to Consolidate Interactive Physical Android Clients on One Single Computing Platform

Vulkan 1.1 March Copyright Khronos Group Page 1

ECE 598 Advanced Operating Systems Lecture 18

Visual HTML5. Human Information Interaction for Knowledge Extraction, Interaction, Utilization, Decision making HI-I-KEIUD

Next Generation OpenGL Neil Trevett Khronos President NVIDIA VP Mobile Copyright Khronos Group Page 1

Reboot: Tizen Widget Framework. Hyun Ho, Kang Engineer Samsung Electronics. Copyright 2017 Samsung. All Rights Reserved.

GLSL Overview: Creating a Program

Saving the Planet Designing Low-Power, Low-Bandwidth GPUs

April 4-7, 2016 Silicon Valley

DEVELOPER DAY MONTRÉAL APRIL Copyright Khronos Group Page 1

Bringing it all together: The challenge in delivering a complete graphics system architecture. Chris Porthouse

Accelerating Cloud Graphics

Transcription:

RAMSES. TECHNICAL OVERVIEW. Sven von Beuningen, Bernhard Kißlinger 30.11.2017

DISPLAY CLUSTER POTENTIAL SOLUTIONS. RAMSES - Technical Overview Seite 2

Rendering on one ECU and transfer via video to another ECU (e.g. APIX2 or H.264) (E.g. Display of a navigation map from HeadUnit inside instrument cluster) HUD- Display IC-Display Main-Display Instrume nt Cluster Video stream HeadUn it Needs very high permanent bandwith for good quality on the network, and maybe also a dedicated link between the ECUs (Hardware costs) Can have compression artefacts Computation power is calculated in the sending ECU, even if the receiving ECU is not build in the car No graphical interaction between local and remote content possible (e.g. Reflections, Shadows, etc.) RAMSES, JC-1,.2017-05-03 Page 3

Connecting all displays to one ECU (E.g. Connecting main display and instrument cluster display to one powerful ECU) Display xyz Display mirrors IC-Display HUD- Display Main-Display HeadUn it Would solve distribution challenge, but we still have to exchange content between local processes May be suitable for HeadUnit and instrument cluster, but does not scale very well for higher amount of displays Computation power have to be calculated in this one ECU for all possible combinations RAMSES, JC-1,.2017-05-03 Page 4

Usage of a dedicated protocol per UseCase (E.g. Display of entertainment lists inside the instrumet cluster) HUD- Display Instrume nt Cluster IC-Display Entertainment lists Guiding information Use-Case xyz Main-Display HeadUn it Development effort for each use case Hard to change or extend after the protocol is defined, especially at late phase of the development phase RAMSES, JC-1,.2017-05-03 Page 5

Stream of OpenGL commands over the wire (glgenbuffers, glbindbuffer, glbufferdata, gldrawelements, etc) HUD- Display IC-Display Main-Display Instrume nt Cluster OpenGL commands surface 1..n HeadUn it Description for each single frame has to be transferred. Therefore a lot of duplicate information is communicated. High amount of bandwidth needed for 60fps with about 1000 draw calls. No graphical interaction possible, because the command stream is rendered into a surface and just integrated as is, into the remote scene. No compression artefacts. RAMSES, JC-1,.2017-05-03 Page 6

THE RAMSES WAY. HUD- Display IC-Display Main-Display Left-Display Right-Display Instrume nt Cluster Logical scenes HeadUn it Logical scenes RearSe at Distribution of graphical content on a logical SceneGraph level Content t provider (Application) and Content t Consumer (Renderer) are logically ll split, and can run on different ECUs (decoupling) Updates or late changes in the development cycle on application side possible without changes on the rendering side Graphical interaction possible between scenes from different ECUs Animated transitions for content from one screen to another Several times less bandwidth needed during runtime, compared to video distribution RAMSES, JC-1,.2017-05-03 Page 7

ARCHITECTURE. RAMSES - Technical Overview Seite 8

DISPLAY CLUSTER. ARCHITECTURE GOALS. Distributed rendering of arbitrary content by providing a consistent look and feel of same content classes Flexible, extensible use case independent architecture / protocol Handling different variants (Low/High, with HUD/without HUD) Independent of deployment and ECU partitioning Split application logic from display location One render engine for all displays RAMSES - Technical Overview Seite 9

CONTENT TO SCREEN. LAYERS. HMI application Widgets Zero copy local communication Navigation DB Lookup Scene graph SomeIP Renderer OpenGL ES OS/Driver GPU RAMSES RAMSES - Technical Overview Seite 10

RAMSES. COMPONENTS. Client Renderer Content provider Content consumer Framework Common functionality RAMSES - Technical Overview Seite 11

COMPONENTS. HIGH-LEVEL FEATURES. Client Renderer C++ Client API Text Rendering File asset C++ Renderer API OpenGL ES 3.1 Rendering Device Window abstraction Scene mapping/linking Embedded Wayland Compositor Post processing Framework Scene graph provider / consumer Resource provider / consumer Platform abstraction Logging SOME/IP services / communication Stack adapter Process-internal communication Plain TCP based communication Platform dependent SOME/IP stacks RAMSES - Technical Overview Seite 12

FEATURES. RAMSES - Technical Overview Seite 13

C++ CLIENT API. Standard data structures: Scene Node, TransformationNode, GroupNode, MeshNode, TextNode Appearance, Shaders (glslang input parsing), TextureSampler, Texture2D/3D/Cube, Index/Vertex array inputs Camera RenderGroup RenderPass RenderTarget Defining static animations RAMSES - Technical Overview Seite 14

TEXT/FONT RENDERING. Support for multiple font rendering engines Freetype RT-Font Harfbuzz based font shaping support e.g. for Thai rendering Font cascades Configuration of text style attributes (height, ascender, descender, etc.) RAMSES - Technical Overview Seite 15

ASSETS. LOADING SCENE AND RESOURCES FROM FILE. Store and load scene and resources in a RAMSES specific format Fast loading Startup requirements, especially needed e.g. for the Instrument Cluster RAMSES - Technical Overview Seite 16

SOME/IP BASED COMMUNICATION. Standard communication protocol for all Ethernet based ECUs in our cars. Currently different SomeIP Stacks with different toolchains and APIs are used on different ECUs RAMSES - Technical Overview Seite 17

RENDERER C++ API. WINDOW AND DISPLAY CONFIGURATION. Window support for WGL, EGL, X11, Integrity Display configuration such as Display Size Viewport settings Camera parameters Stereo rendering support Warping support Multi-sampling RAMSES - Technical Overview Seite 18

RENDERER C++ API. SCENE MAPPING. Map scene to a buffer Offscreen render buffer Frame buffer RAMSES - Technical Overview Seite 19

RENDERER C++ API. DATA LINKING. Interaction between scenes Data links: Transformation linking Data object linking Texture linking RAMSES - Technical Overview Seite 20

EMBEDDED WAYLAND COMPOSITOR. Renderer implements wayland-based compositor Client Renderer texturesampler with Wayland streamtexture wayland-ivi protocol (ref ivi surface id) (surface id) Wayland application RAMSES - Technical Overview Seite 21

RAMSES STUDIO AUTHORING TOOL RAMSES - Technical Overview Seite 22

TECH FACTS. RAMSES provides a SDK Graphical tooling available (RAMSES studio) to create scenes C++ API, SomeIP-based serialization for IPC Supported platforms: Windows Linux Integrity Android (planned) OpenGL ES 3.1 support RAMSES - Technical Overview Page 23

THANK YOU! Q&A. Sven von Beuningen, Bernhard Kißlinger 30.11.2017