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

Etna dev 2016 - Introduction to Holographic Development

Embed Size (px)

Citation preview

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/