etna dev 2016 - introduction to holographic development

24
Introduction to Holographic Development Clemente Giorio Matteo Valoriani Marco Dal Pino

Upload: matteo-valoriani

Post on 13-Apr-2017

24 views

Category:

Engineering


2 download

TRANSCRIPT

Introduction to Holographic Development

Clemente Giorio

Matteo Valoriani

Marco Dal Pino

Agenda

How develop HoloGraphic App

Setup and SDKMy first App

HoloToolKit Unity

Input: Gaze / Tap / VoiceSpatial Mapping

Performances

Q&A?

How develop HoloGraphic App

Different Devices

Checklist

5.4.0f3-HTP

Build 10.0.14393.0

Unity 3D

Cross Platform

HoloLens Support

WYSIWYG Editor

Quick Interaction Times

Powerful Asset Pipeline

Easy to lean API’s

Programming Language: C#

Wrapper and dlls support: C++

Web Portal / Microsoft HoloLens App

DemoMy first App

HoloLens Toolkit-Unity

https://github.com/Microsoft/HoloToolkit-Unity

https://github.com/Microsoft/HoloToolkit-Unity/blob/master/GettingStarted.md

Input

Sharing

Spatial Mapping

Spatial Sound

Utilities

Build

DemoInput: Gaze / Tap / Voice

Spatial Mapping

DemoSpatial Mapping - Planetarium

Shaders

Programs that run on the GPU

Written in C like language (CG, HLSL, GLSL)

Used for lighting, effects, computation, etc

DX11 Rendering Pipeline

Structure of a Shader

Shader “Name”{}

Properties {}

SubShader {}

Pass {}

CDPROGRAMM … ENDCG

Defining Variables

Structs

Vertex Program

Black.shader & Color.shader

Shader “DTC-HoloLens/Black”{

SubShader

{Pass {}

}

}

Shader “DTC-HoloLens/Color”{Properties{

_Color (“Color”, Color) = (1,0,0)}

SubShader{

Color [_Color] Pass {}

}

}

Shadertoy

https://www.shadertoy.com/view/4tlXWs

https://www.shadertoy.com/view/MlfXzN

https://www.shadertoy.com/view/lsXSDn

https://www.shadertoy.com/view/XdcGzr#

PerformancesProfiler

Fild Of View

Remember HW Limits

Goals• Frame Rate 60 fps

• Memory < 900 MB Total Commit

The the biggest factors for CPU performance are:• Too many objects being rendered (try to keep this under 100 unique Renderers or UI

elements)

• Expensive updates or too many object updates

• Hitches due to garbage collection

• Expensive graphics settings and shaders (shadows, reflection probes, etc.)

https://developer.microsoft.com/en-us/windows/holographic/performance_recommendations_for_unity

Optimize Player

Go to the player settings by navigating to "Edit > Project Settings > Player" page, click on the "Windows Store“

Use Shader preloading, preloading means you won't see any hitches due to runtime shader compilation.

Make sure "Rendering > Rendering Path" is set to Forward (this is the default).

The "Use 16-bit Depth Buffers" setting allows you to enable 16-bit depth buffers, which drastically reduces the bandwidth (and thus power) associated with depth buffer traffic.

Introduction to Mixed Reality with HoloLensClemente Giorio

Matteo Valoriani

Marco Dal Pino

@HoloLensDevelopHoloLens Developers Group

https://www.linkedin.com/groups/8243800

Hololens Developers

https://www.facebook.com/groups/6285882

10601469

HoloLens Developers

https://plus.google.com/b/109053767376103420461/