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

Etna dev 2016 - Introduction to Holographic Development

Apr 13, 2017

Download

Engineering

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Etna dev 2016 - Introduction to Holographic Development

Introduction to Holographic Development

Clemente Giorio

Matteo Valoriani

Marco Dal Pino

Page 2: Etna dev 2016 - Introduction to Holographic Development

Agenda

How develop HoloGraphic App

Setup and SDKMy first App

HoloToolKit Unity

Input: Gaze / Tap / VoiceSpatial Mapping

Performances

Q&A?

Page 3: Etna dev 2016 - Introduction to Holographic Development
Page 4: Etna dev 2016 - Introduction to Holographic Development
Page 5: Etna dev 2016 - Introduction to Holographic Development

How develop HoloGraphic App

Page 6: Etna dev 2016 - Introduction to Holographic Development

Different Devices

Page 7: Etna dev 2016 - Introduction to Holographic Development

Checklist

5.4.0f3-HTP

Build 10.0.14393.0

Page 8: Etna dev 2016 - Introduction to Holographic Development

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++

Page 9: Etna dev 2016 - Introduction to Holographic Development

Web Portal / Microsoft HoloLens App

Page 10: Etna dev 2016 - Introduction to Holographic Development

DemoMy first App

Page 11: Etna dev 2016 - Introduction to Holographic Development

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

Page 12: Etna dev 2016 - Introduction to Holographic Development

DemoInput: Gaze / Tap / Voice

Page 13: Etna dev 2016 - Introduction to Holographic Development

Spatial Mapping

Page 14: Etna dev 2016 - Introduction to Holographic Development

DemoSpatial Mapping - Planetarium

Page 15: Etna dev 2016 - Introduction to Holographic Development

Shaders

Programs that run on the GPU

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

Used for lighting, effects, computation, etc

DX11 Rendering Pipeline

Page 16: Etna dev 2016 - Introduction to Holographic Development

Structure of a Shader

Shader “Name”{}

Properties {}

SubShader {}

Pass {}

CDPROGRAMM … ENDCG

Defining Variables

Structs

Vertex Program

Page 17: Etna dev 2016 - Introduction to Holographic Development

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 {}

}

}

Page 18: Etna dev 2016 - Introduction to Holographic Development

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#

Page 19: Etna dev 2016 - Introduction to Holographic Development

PerformancesProfiler

Page 20: Etna dev 2016 - Introduction to Holographic Development

Fild Of View

Page 21: Etna dev 2016 - Introduction to Holographic Development

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

Page 22: Etna dev 2016 - Introduction to Holographic Development

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.

Page 23: Etna dev 2016 - Introduction to Holographic Development

Introduction to Mixed Reality with HoloLensClemente Giorio

Matteo Valoriani

Marco Dal Pino

Page 24: Etna dev 2016 - Introduction to Holographic Development

@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/