SlideShare une entreprise Scribd logo
1  sur  31
Télécharger pour lire hors ligne
이호민Software Engineer / SDK team 
Oculus 
Developing with Oculus
1. Who is Oculus 
2. Oculus Rift DK2 
3. Positional Tracking 
4. SDK 
5. Latency 
6. Roadmap 
Contents
1. Who is Oculus 
Movie
Oculus is... 
• Palmer Luckey& John Carmack “homebrew” prototype at E3 2012 
• Oculus VR founded mid 2012 
• Successful Kickstarter campaign Sept 2012 (2.4 million) 
• First 10k devkits shipped March 2013 
• Over 50,000 devkits shipped to date 
• Over 60,000 developers on Oculus devportal 
• 100s of games in development for the Rift 
• 50+ top-tier show awards, best of CES 2013, E3 2013, CES 2014 
• Acquired by Facebook 
• Started DK2 shipping on August 2014 
• Announced mobile VR kit, Gear VR 
• Announced prototype of next version, Crescent bay at Oculus Connect 2014
2. Oculus Rift DK2
Oculus Rift DK2 
• 100 Degree Fov• 1080p OLED Screen, 960x1080 per eye 
• 75hz Low Persistence refresh rate 
• Full Persistence @ 60, 72 or 75 Hz 
• 1000Hz IMU tracks orientation and assists position 
• Sensor Fusion SW combines IMU(inertial measurement unit) 
and camera data for 6DOF tracking 
Crescent Bay 
• Better Screen Resolution 
• 90hz Low Persistence refresh rate 
• 360-degree tracking 
• Improved weight 
• Integrated audio
3. Positional Tracking
Positional Tracking 
• External camera looking at the user. 
• 72H x 52V Degrees FOV 
• 0.5m -2.5 meters tracking range 
• Placed on the desk or looking down at the user 
• Includes a tripod screw mount
• Relies on IR built into the Rift on all sides 
• Supports swaying side to side, front and back 
• Tracking works while looking up and down 
• Player can turn more than 110 degrees to each side 
Positional Tracking
4. Oculus SDK
Features of SDK 0.4 
• Support DK1 & DK2 
-New C Interface; recompile the game with new SDK 
• Positional tracking 
-Position origin is currently 1 meter from camera 
-SDK reports SensorStatewith predicted Pose state 
-Includes orientation, position and derivatives 
-Sets flags when out of tracking range 
-Falls back on head model 
• Direct-to-Rift and Extended Mode 
• OVR Configuration Utility
Where OVR Software Stack is Heading 
• C Interface: Easy to bind from other languages 
• Driver DLL: Automatically support changes in HW and functionality 
• OVR Service: Rift sharing and VRs transitions across apps
SDK Rendering vs. Game Rendering 
•0.2 SDK didn’t do any rendering 
•Only provided parameters needed for proper rendering 
•New rendering backend in SDK 0.4 
•Takes over critical rendering features 
•Game(App) layer gives SDK L & R eye textures to ovrHmd_EndFrame()
• General Work Flow 
-ovrHmd_CreateDistortionMesh 
Transforms the image through UVs 
More efficient to render then pixel shader 
Gives Oculus flexibility to change distortion 
-ovrHmd_BeginFrame 
-ovrHmd_GetEyePoses 
-Stereo rendering based on EyeRenderPose(Game Scene Render) 
-ovrHmd_EndFrame 
SDK Rendering vs. Game Rendering
Finishes rendering with the following features on SDK 0.4: 
•Barrel distortion with chromatic aberration & time warp 
•Internal latency testing & dynamic prediction 
•Low-latency v-sync and flip (even better with direct-to-rift) 
•Health & Safety Warning 
SDK Rendering vs. Game Rendering
• Easy to integrate: 
-No shaders, meshes to create 
-Pass device/system pointers and eye texture(s) 
-Support OpenGL and D3D9/10/11 
-Must re-apply rendering state for next frame 
• Benefits: 
-Better compatibility with future Oculus HW and Features 
-Reduces graphics setup bugs 
-Support low-latency driver screen access such as front buffer rendering, etc. 
-Automatically support overlays: latency testing, camera guides, debug data, 
pass-through, platform overlays 
SDK Rendering vs. Game Rendering
Supporting Game Engine 
•Unity 3D, Unreal Engine 3 & 4 use SDK rendering 
•In some cases, what you think is unsupported by our SDK, might actually be supported, but we still want to know! 
Ping us. We will listen.
Extended Mode 
•Headset shows up as an OS Display 
•Application must place a window on Rift monitor 
•Icons and Windows in a wrong place 
•Windows compositor handles Present 
•There is usually at least one extra frame of latency 
•More latency if no CPU & GPU sync is done
Direct To Rift 
Outputs to Rift without Display being a part of the desktop 
•Headset not seen by the OS 
•Avoid jumping windows and icons 
•Decouples Rift v-sync from OS compositor 
•Avoids extra GPU buffering for minimum latency 
•Use ovrHmd_AttachToWindow 
•Window swap chain output is directed to the Rift 
Hope to see Direct Mode become the longer term solution
5. Latency
VR Motion to Photon Latency 
Input 
USB 
Game Engine 
Write Display 
Pixel Switching 
New Image
VR Motion to Photon Latency 
Keeping latency low is crucial for a solid VR experience 
Goal is < 20 ms, and hopefully close to 5 ms 
We’re almost there! (stay tuned for some numbers)
Reducing Latency -TimeWarp 
•Re-projects rendering for a later point in time 
•Done simultaneously with distortion 
•Reduces perceived latency 
•Accounts for DK2 rolling shutter 
•0.4 SDK handles orientation, positional possible
Reducing Latency -TimeWarp 
13.3 ms 
Any other way to apply sensor before the end of the frame? 
TimeWarp–Projected rendering -Pioneered by John 
75 FPS
Any other way to apply sensor before the end of the frame? 
TimeWarp–Projected rendering -Pioneered by John 
Reducing Latency -TimeWarp
Reducing Latency -TimeWarp
6. SDK Roadmap
SDK Roadmap –Short Term 
Driver Improvements & Fixes 
•Multi-Monitor fixes to v-sync related latency & judder 
•Reduce post-present latency 
•Handle Optimus and multi-GPU scenarios 
Linux Support 
Asynchronous/Adaptive Time warp 
•Reduce Judder by generating extra frames when needed 
Time warp Layers 
•Handle Cockpit and Overlays separately from the scene
Q&A

Contenu connexe

Tendances

Oculus rift
Oculus riftOculus rift
Oculus riftimvegita
 
Luis cataldi-ue4-vr-best-practices2
Luis cataldi-ue4-vr-best-practices2Luis cataldi-ue4-vr-best-practices2
Luis cataldi-ue4-vr-best-practices2Luis Cataldi
 
How to create powerfully interactive & collaborative VR applications - Sébast...
How to create powerfully interactive & collaborative VR applications - Sébast...How to create powerfully interactive & collaborative VR applications - Sébast...
How to create powerfully interactive & collaborative VR applications - Sébast...WithTheBest
 
Eyes Wide Open - Amir Ebrahimi
Eyes Wide Open - Amir EbrahimiEyes Wide Open - Amir Ebrahimi
Eyes Wide Open - Amir EbrahimiWithTheBest
 
Unreal Open Day 2017 UE4 for Mobile: The Future of High Quality Mobile Games
Unreal Open Day 2017 UE4 for Mobile: The Future of High Quality Mobile GamesUnreal Open Day 2017 UE4 for Mobile: The Future of High Quality Mobile Games
Unreal Open Day 2017 UE4 for Mobile: The Future of High Quality Mobile GamesEpic Games China
 
Making VR Games and Experiences in UE4
Making VR Games and Experiences in UE4Making VR Games and Experiences in UE4
Making VR Games and Experiences in UE4Unreal Engine
 
Making High Quality Interactive VR with Unreal Engine Luis Cataldi
Making High Quality Interactive VR with Unreal Engine Luis CataldiMaking High Quality Interactive VR with Unreal Engine Luis Cataldi
Making High Quality Interactive VR with Unreal Engine Luis CataldiLuis Cataldi
 
Improving the VR experience - VRST 2012
Improving the VR experience - VRST 2012Improving the VR experience - VRST 2012
Improving the VR experience - VRST 2012Sebastien Kuntz
 
How to Develop VR Applications and Publish from Phone to Dome - Nils Andersson
How to Develop VR Applications and Publish from Phone to Dome - Nils AnderssonHow to Develop VR Applications and Publish from Phone to Dome - Nils Andersson
How to Develop VR Applications and Publish from Phone to Dome - Nils AnderssonWithTheBest
 
GS-4145, Oxide discusses how Mantle enables game engine performance, by Dan B...
GS-4145, Oxide discusses how Mantle enables game engine performance, by Dan B...GS-4145, Oxide discusses how Mantle enables game engine performance, by Dan B...
GS-4145, Oxide discusses how Mantle enables game engine performance, by Dan B...AMD Developer Central
 
Building Applications with the Microsoft Kinect SDK
Building Applications with the Microsoft Kinect SDKBuilding Applications with the Microsoft Kinect SDK
Building Applications with the Microsoft Kinect SDKDataLeader.io
 
Introduction to daydream for AnDevCon DC - 2017
Introduction to daydream for AnDevCon DC - 2017Introduction to daydream for AnDevCon DC - 2017
Introduction to daydream for AnDevCon DC - 2017Jared Sheehan
 
Introduction to DaydreamVR from DevFestDC 2017
Introduction to DaydreamVR from DevFestDC 2017Introduction to DaydreamVR from DevFestDC 2017
Introduction to DaydreamVR from DevFestDC 2017Jared Sheehan
 
Developing Games For VR - Lessons Learned
Developing Games For VR - Lessons LearnedDeveloping Games For VR - Lessons Learned
Developing Games For VR - Lessons LearnedMartin Climatiano
 
Making VR with Unreal Engine Luis Cataldi
Making VR with Unreal Engine  Luis CataldiMaking VR with Unreal Engine  Luis Cataldi
Making VR with Unreal Engine Luis CataldiUnreal Engine
 
Behavior Tree in Unreal engine 4
Behavior Tree in Unreal engine 4Behavior Tree in Unreal engine 4
Behavior Tree in Unreal engine 4Huey Park
 
VR - Creating the ultimate reality
VR - Creating the ultimate realityVR - Creating the ultimate reality
VR - Creating the ultimate realitySebastien Kuntz
 
Synthetic environment
Synthetic environmentSynthetic environment
Synthetic environmentUllas Gupta
 

Tendances (20)

Oculus rift
Oculus riftOculus rift
Oculus rift
 
Oculus rift
Oculus riftOculus rift
Oculus rift
 
Luis cataldi-ue4-vr-best-practices2
Luis cataldi-ue4-vr-best-practices2Luis cataldi-ue4-vr-best-practices2
Luis cataldi-ue4-vr-best-practices2
 
How to create powerfully interactive & collaborative VR applications - Sébast...
How to create powerfully interactive & collaborative VR applications - Sébast...How to create powerfully interactive & collaborative VR applications - Sébast...
How to create powerfully interactive & collaborative VR applications - Sébast...
 
Eyes Wide Open - Amir Ebrahimi
Eyes Wide Open - Amir EbrahimiEyes Wide Open - Amir Ebrahimi
Eyes Wide Open - Amir Ebrahimi
 
Unreal Open Day 2017 UE4 for Mobile: The Future of High Quality Mobile Games
Unreal Open Day 2017 UE4 for Mobile: The Future of High Quality Mobile GamesUnreal Open Day 2017 UE4 for Mobile: The Future of High Quality Mobile Games
Unreal Open Day 2017 UE4 for Mobile: The Future of High Quality Mobile Games
 
Making VR Games and Experiences in UE4
Making VR Games and Experiences in UE4Making VR Games and Experiences in UE4
Making VR Games and Experiences in UE4
 
Making High Quality Interactive VR with Unreal Engine Luis Cataldi
Making High Quality Interactive VR with Unreal Engine Luis CataldiMaking High Quality Interactive VR with Unreal Engine Luis Cataldi
Making High Quality Interactive VR with Unreal Engine Luis Cataldi
 
Oculus rift
Oculus riftOculus rift
Oculus rift
 
Improving the VR experience - VRST 2012
Improving the VR experience - VRST 2012Improving the VR experience - VRST 2012
Improving the VR experience - VRST 2012
 
How to Develop VR Applications and Publish from Phone to Dome - Nils Andersson
How to Develop VR Applications and Publish from Phone to Dome - Nils AnderssonHow to Develop VR Applications and Publish from Phone to Dome - Nils Andersson
How to Develop VR Applications and Publish from Phone to Dome - Nils Andersson
 
GS-4145, Oxide discusses how Mantle enables game engine performance, by Dan B...
GS-4145, Oxide discusses how Mantle enables game engine performance, by Dan B...GS-4145, Oxide discusses how Mantle enables game engine performance, by Dan B...
GS-4145, Oxide discusses how Mantle enables game engine performance, by Dan B...
 
Building Applications with the Microsoft Kinect SDK
Building Applications with the Microsoft Kinect SDKBuilding Applications with the Microsoft Kinect SDK
Building Applications with the Microsoft Kinect SDK
 
Introduction to daydream for AnDevCon DC - 2017
Introduction to daydream for AnDevCon DC - 2017Introduction to daydream for AnDevCon DC - 2017
Introduction to daydream for AnDevCon DC - 2017
 
Introduction to DaydreamVR from DevFestDC 2017
Introduction to DaydreamVR from DevFestDC 2017Introduction to DaydreamVR from DevFestDC 2017
Introduction to DaydreamVR from DevFestDC 2017
 
Developing Games For VR - Lessons Learned
Developing Games For VR - Lessons LearnedDeveloping Games For VR - Lessons Learned
Developing Games For VR - Lessons Learned
 
Making VR with Unreal Engine Luis Cataldi
Making VR with Unreal Engine  Luis CataldiMaking VR with Unreal Engine  Luis Cataldi
Making VR with Unreal Engine Luis Cataldi
 
Behavior Tree in Unreal engine 4
Behavior Tree in Unreal engine 4Behavior Tree in Unreal engine 4
Behavior Tree in Unreal engine 4
 
VR - Creating the ultimate reality
VR - Creating the ultimate realityVR - Creating the ultimate reality
VR - Creating the ultimate reality
 
Synthetic environment
Synthetic environmentSynthetic environment
Synthetic environment
 

En vedette

Digital проекты в российском спорте 2016
Digital проекты в российском спорте 2016Digital проекты в российском спорте 2016
Digital проекты в российском спорте 2016Ivan Ryndin
 
Getting started with Unity3D and Oculus Rift
Getting started with Unity3D and Oculus RiftGetting started with Unity3D and Oculus Rift
Getting started with Unity3D and Oculus RiftMaia Kord
 
Movie trailer analysis
Movie trailer analysisMovie trailer analysis
Movie trailer analysisSashawallen
 
Compare and contrast essay, English 2
Compare and contrast essay, English 2Compare and contrast essay, English 2
Compare and contrast essay, English 2Yung Kai
 
Oculus in depth analysis
Oculus   in depth analysisOculus   in depth analysis
Oculus in depth analysisZiema2
 
Basic VR Development Tutorial Integrating Oculus Rift and Razer Hydra
Basic VR Development Tutorial Integrating Oculus Rift and Razer HydraBasic VR Development Tutorial Integrating Oculus Rift and Razer Hydra
Basic VR Development Tutorial Integrating Oculus Rift and Razer HydraChris Zaharia
 
Unity + Oculus Rift + LeapMotion 우주 체험 프로젝트 후기
Unity + Oculus Rift + LeapMotion 우주 체험 프로젝트 후기Unity + Oculus Rift + LeapMotion 우주 체험 프로젝트 후기
Unity + Oculus Rift + LeapMotion 우주 체험 프로젝트 후기flashscope
 
All about Virtual Reality & Oculus Rift
All about Virtual Reality & Oculus RiftAll about Virtual Reality & Oculus Rift
All about Virtual Reality & Oculus RiftSaurabh Sawhney
 
Your VR Experience (Oculus Presentation, Indiecade 2016)
Your VR Experience (Oculus Presentation, Indiecade 2016)Your VR Experience (Oculus Presentation, Indiecade 2016)
Your VR Experience (Oculus Presentation, Indiecade 2016)Esteban Gallardo
 

En vedette (10)

Digital проекты в российском спорте 2016
Digital проекты в российском спорте 2016Digital проекты в российском спорте 2016
Digital проекты в российском спорте 2016
 
Getting started with Unity3D and Oculus Rift
Getting started with Unity3D and Oculus RiftGetting started with Unity3D and Oculus Rift
Getting started with Unity3D and Oculus Rift
 
Movie trailer analysis
Movie trailer analysisMovie trailer analysis
Movie trailer analysis
 
Compare and contrast essay, English 2
Compare and contrast essay, English 2Compare and contrast essay, English 2
Compare and contrast essay, English 2
 
Oculus in depth analysis
Oculus   in depth analysisOculus   in depth analysis
Oculus in depth analysis
 
Basic VR Development Tutorial Integrating Oculus Rift and Razer Hydra
Basic VR Development Tutorial Integrating Oculus Rift and Razer HydraBasic VR Development Tutorial Integrating Oculus Rift and Razer Hydra
Basic VR Development Tutorial Integrating Oculus Rift and Razer Hydra
 
Unity + Oculus Rift + LeapMotion 우주 체험 프로젝트 후기
Unity + Oculus Rift + LeapMotion 우주 체험 프로젝트 후기Unity + Oculus Rift + LeapMotion 우주 체험 프로젝트 후기
Unity + Oculus Rift + LeapMotion 우주 체험 프로젝트 후기
 
All about Virtual Reality & Oculus Rift
All about Virtual Reality & Oculus RiftAll about Virtual Reality & Oculus Rift
All about Virtual Reality & Oculus Rift
 
Your VR Experience (Oculus Presentation, Indiecade 2016)
Your VR Experience (Oculus Presentation, Indiecade 2016)Your VR Experience (Oculus Presentation, Indiecade 2016)
Your VR Experience (Oculus Presentation, Indiecade 2016)
 
Virtual Reality, Oculus Rift, Business Model
Virtual Reality, Oculus Rift, Business ModelVirtual Reality, Oculus Rift, Business Model
Virtual Reality, Oculus Rift, Business Model
 

Similaire à [1C7] Developing with Oculus

Oculus 140420034011-phpapp02
Oculus 140420034011-phpapp02Oculus 140420034011-phpapp02
Oculus 140420034011-phpapp02Kishan Singh
 
Introduction to 360 Video
Introduction to  360 VideoIntroduction to  360 Video
Introduction to 360 VideoSeung-Bum Lee
 
The next generation of GPU APIs for Game Engines
The next generation of GPU APIs for Game EnginesThe next generation of GPU APIs for Game Engines
The next generation of GPU APIs for Game EnginesPooya Eimandar
 
Developing Virtual Reality Application using Google Cardboard
Developing Virtual Reality Application using Google CardboardDeveloping Virtual Reality Application using Google Cardboard
Developing Virtual Reality Application using Google Cardboardapurvmmmec
 
Virtual Reality Application Development on Android using Google Cardboard
Virtual Reality Application Development on Android using Google CardboardVirtual Reality Application Development on Android using Google Cardboard
Virtual Reality Application Development on Android using Google CardboardApurv Nigam
 
Developing Next-Generation Games with Stage3D (Molehill)
Developing Next-Generation Games with Stage3D (Molehill) Developing Next-Generation Games with Stage3D (Molehill)
Developing Next-Generation Games with Stage3D (Molehill) Jean-Philippe Doiron
 
Virtual Reality: Learn to Maximize Present and Future Creative Possibilities!
Virtual Reality: Learn to Maximize Present and Future Creative Possibilities!Virtual Reality: Learn to Maximize Present and Future Creative Possibilities!
Virtual Reality: Learn to Maximize Present and Future Creative Possibilities!Stephan Tanguay
 
Hacking for Salone: Drone Races - Di Saverio; Lippolis - Codemotion Milan 2016
Hacking for Salone: Drone Races - Di Saverio; Lippolis - Codemotion Milan 2016Hacking for Salone: Drone Races - Di Saverio; Lippolis - Codemotion Milan 2016
Hacking for Salone: Drone Races - Di Saverio; Lippolis - Codemotion Milan 2016Codemotion
 
Write retrogames in the web and add something more with Azure
Write retrogames in the web and add something more with AzureWrite retrogames in the web and add something more with Azure
Write retrogames in the web and add something more with AzureMarco Parenzan
 
Philipp Nagele (Wikitude): What's Next with Wikitude
Philipp Nagele (Wikitude): What's Next with WikitudePhilipp Nagele (Wikitude): What's Next with Wikitude
Philipp Nagele (Wikitude): What's Next with WikitudeAugmentedWorldExpo
 
sdc-2016-gvrf-and-io_public
sdc-2016-gvrf-and-io_publicsdc-2016-gvrf-and-io_public
sdc-2016-gvrf-and-io_publicRick Lau
 
Using intel's real sense to create games with natural user interfaces justi...
Using intel's real sense to create games with natural user interfaces   justi...Using intel's real sense to create games with natural user interfaces   justi...
Using intel's real sense to create games with natural user interfaces justi...BeMyApp
 
Alex_Vlachos_Advanced_VR_Rendering_GDC2015
Alex_Vlachos_Advanced_VR_Rendering_GDC2015Alex_Vlachos_Advanced_VR_Rendering_GDC2015
Alex_Vlachos_Advanced_VR_Rendering_GDC2015Alex Vlachos
 
Kenn Song (VisionStar): EasyAR 2.0 - New Features and Changes
Kenn Song (VisionStar): EasyAR 2.0 - New Features and ChangesKenn Song (VisionStar): EasyAR 2.0 - New Features and Changes
Kenn Song (VisionStar): EasyAR 2.0 - New Features and ChangesAugmentedWorldExpo
 
Алексей Рыбаков (Senior Engineer,Technical Evangelist DataArt )
Алексей Рыбаков (Senior Engineer,Technical Evangelist DataArt ) Алексей Рыбаков (Senior Engineer,Technical Evangelist DataArt )
Алексей Рыбаков (Senior Engineer,Technical Evangelist DataArt ) Alina Vilk
 

Similaire à [1C7] Developing with Oculus (20)

Oculus 140420034011-phpapp02
Oculus 140420034011-phpapp02Oculus 140420034011-phpapp02
Oculus 140420034011-phpapp02
 
Introduction to 360 Video
Introduction to  360 VideoIntroduction to  360 Video
Introduction to 360 Video
 
The next generation of GPU APIs for Game Engines
The next generation of GPU APIs for Game EnginesThe next generation of GPU APIs for Game Engines
The next generation of GPU APIs for Game Engines
 
Developing Virtual Reality Application using Google Cardboard
Developing Virtual Reality Application using Google CardboardDeveloping Virtual Reality Application using Google Cardboard
Developing Virtual Reality Application using Google Cardboard
 
Virtual Reality Application Development on Android using Google Cardboard
Virtual Reality Application Development on Android using Google CardboardVirtual Reality Application Development on Android using Google Cardboard
Virtual Reality Application Development on Android using Google Cardboard
 
Developing Next-Generation Games with Stage3D (Molehill)
Developing Next-Generation Games with Stage3D (Molehill) Developing Next-Generation Games with Stage3D (Molehill)
Developing Next-Generation Games with Stage3D (Molehill)
 
Virtual Reality: Learn to Maximize Present and Future Creative Possibilities!
Virtual Reality: Learn to Maximize Present and Future Creative Possibilities!Virtual Reality: Learn to Maximize Present and Future Creative Possibilities!
Virtual Reality: Learn to Maximize Present and Future Creative Possibilities!
 
ssssss
ssssssssssss
ssssss
 
Hacking for salone: drone races
Hacking for salone: drone racesHacking for salone: drone races
Hacking for salone: drone races
 
Hacking for Salone: Drone Races - Di Saverio; Lippolis - Codemotion Milan 2016
Hacking for Salone: Drone Races - Di Saverio; Lippolis - Codemotion Milan 2016Hacking for Salone: Drone Races - Di Saverio; Lippolis - Codemotion Milan 2016
Hacking for Salone: Drone Races - Di Saverio; Lippolis - Codemotion Milan 2016
 
Write retrogames in the web and add something more with Azure
Write retrogames in the web and add something more with AzureWrite retrogames in the web and add something more with Azure
Write retrogames in the web and add something more with Azure
 
Philipp Nagele (Wikitude): What's Next with Wikitude
Philipp Nagele (Wikitude): What's Next with WikitudePhilipp Nagele (Wikitude): What's Next with Wikitude
Philipp Nagele (Wikitude): What's Next with Wikitude
 
Alexey Savchenko, Unreal Engine
Alexey Savchenko, Unreal EngineAlexey Savchenko, Unreal Engine
Alexey Savchenko, Unreal Engine
 
Cocos2d programming
Cocos2d programmingCocos2d programming
Cocos2d programming
 
Vuzix i wear vr920
Vuzix i wear vr920Vuzix i wear vr920
Vuzix i wear vr920
 
sdc-2016-gvrf-and-io_public
sdc-2016-gvrf-and-io_publicsdc-2016-gvrf-and-io_public
sdc-2016-gvrf-and-io_public
 
Using intel's real sense to create games with natural user interfaces justi...
Using intel's real sense to create games with natural user interfaces   justi...Using intel's real sense to create games with natural user interfaces   justi...
Using intel's real sense to create games with natural user interfaces justi...
 
Alex_Vlachos_Advanced_VR_Rendering_GDC2015
Alex_Vlachos_Advanced_VR_Rendering_GDC2015Alex_Vlachos_Advanced_VR_Rendering_GDC2015
Alex_Vlachos_Advanced_VR_Rendering_GDC2015
 
Kenn Song (VisionStar): EasyAR 2.0 - New Features and Changes
Kenn Song (VisionStar): EasyAR 2.0 - New Features and ChangesKenn Song (VisionStar): EasyAR 2.0 - New Features and Changes
Kenn Song (VisionStar): EasyAR 2.0 - New Features and Changes
 
Алексей Рыбаков (Senior Engineer,Technical Evangelist DataArt )
Алексей Рыбаков (Senior Engineer,Technical Evangelist DataArt ) Алексей Рыбаков (Senior Engineer,Technical Evangelist DataArt )
Алексей Рыбаков (Senior Engineer,Technical Evangelist DataArt )
 

Plus de NAVER D2

[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다NAVER D2
 
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...NAVER D2
 
[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기NAVER D2
 
[245]Papago Internals: 모델분석과 응용기술 개발
[245]Papago Internals: 모델분석과 응용기술 개발[245]Papago Internals: 모델분석과 응용기술 개발
[245]Papago Internals: 모델분석과 응용기술 개발NAVER D2
 
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈NAVER D2
 
[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&A[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&ANAVER D2
 
[244]로봇이 현실 세계에 대해 학습하도록 만들기
[244]로봇이 현실 세계에 대해 학습하도록 만들기[244]로봇이 현실 세계에 대해 학습하도록 만들기
[244]로봇이 현실 세계에 대해 학습하도록 만들기NAVER D2
 
[243] Deep Learning to help student’s Deep Learning
[243] Deep Learning to help student’s Deep Learning[243] Deep Learning to help student’s Deep Learning
[243] Deep Learning to help student’s Deep LearningNAVER D2
 
[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applications[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applicationsNAVER D2
 
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load BalancingOld version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load BalancingNAVER D2
 
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지NAVER D2
 
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기NAVER D2
 
[224]네이버 검색과 개인화
[224]네이버 검색과 개인화[224]네이버 검색과 개인화
[224]네이버 검색과 개인화NAVER D2
 
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)NAVER D2
 
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기NAVER D2
 
[213] Fashion Visual Search
[213] Fashion Visual Search[213] Fashion Visual Search
[213] Fashion Visual SearchNAVER D2
 
[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화NAVER D2
 
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지NAVER D2
 
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터NAVER D2
 
[223]기계독해 QA: 검색인가, NLP인가?
[223]기계독해 QA: 검색인가, NLP인가?[223]기계독해 QA: 검색인가, NLP인가?
[223]기계독해 QA: 검색인가, NLP인가?NAVER D2
 

Plus de NAVER D2 (20)

[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다
 
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
 
[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기
 
[245]Papago Internals: 모델분석과 응용기술 개발
[245]Papago Internals: 모델분석과 응용기술 개발[245]Papago Internals: 모델분석과 응용기술 개발
[245]Papago Internals: 모델분석과 응용기술 개발
 
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
 
[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&A[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&A
 
[244]로봇이 현실 세계에 대해 학습하도록 만들기
[244]로봇이 현실 세계에 대해 학습하도록 만들기[244]로봇이 현실 세계에 대해 학습하도록 만들기
[244]로봇이 현실 세계에 대해 학습하도록 만들기
 
[243] Deep Learning to help student’s Deep Learning
[243] Deep Learning to help student’s Deep Learning[243] Deep Learning to help student’s Deep Learning
[243] Deep Learning to help student’s Deep Learning
 
[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applications[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applications
 
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load BalancingOld version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
 
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
 
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
 
[224]네이버 검색과 개인화
[224]네이버 검색과 개인화[224]네이버 검색과 개인화
[224]네이버 검색과 개인화
 
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
 
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
 
[213] Fashion Visual Search
[213] Fashion Visual Search[213] Fashion Visual Search
[213] Fashion Visual Search
 
[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화
 
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
 
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
 
[223]기계독해 QA: 검색인가, NLP인가?
[223]기계독해 QA: 검색인가, NLP인가?[223]기계독해 QA: 검색인가, NLP인가?
[223]기계독해 QA: 검색인가, NLP인가?
 

Dernier

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 

Dernier (20)

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 

[1C7] Developing with Oculus

  • 1.
  • 2.
  • 3. 이호민Software Engineer / SDK team Oculus Developing with Oculus
  • 4. 1. Who is Oculus 2. Oculus Rift DK2 3. Positional Tracking 4. SDK 5. Latency 6. Roadmap Contents
  • 5. 1. Who is Oculus Movie
  • 6. Oculus is... • Palmer Luckey& John Carmack “homebrew” prototype at E3 2012 • Oculus VR founded mid 2012 • Successful Kickstarter campaign Sept 2012 (2.4 million) • First 10k devkits shipped March 2013 • Over 50,000 devkits shipped to date • Over 60,000 developers on Oculus devportal • 100s of games in development for the Rift • 50+ top-tier show awards, best of CES 2013, E3 2013, CES 2014 • Acquired by Facebook • Started DK2 shipping on August 2014 • Announced mobile VR kit, Gear VR • Announced prototype of next version, Crescent bay at Oculus Connect 2014
  • 8. Oculus Rift DK2 • 100 Degree Fov• 1080p OLED Screen, 960x1080 per eye • 75hz Low Persistence refresh rate • Full Persistence @ 60, 72 or 75 Hz • 1000Hz IMU tracks orientation and assists position • Sensor Fusion SW combines IMU(inertial measurement unit) and camera data for 6DOF tracking Crescent Bay • Better Screen Resolution • 90hz Low Persistence refresh rate • 360-degree tracking • Improved weight • Integrated audio
  • 10. Positional Tracking • External camera looking at the user. • 72H x 52V Degrees FOV • 0.5m -2.5 meters tracking range • Placed on the desk or looking down at the user • Includes a tripod screw mount
  • 11. • Relies on IR built into the Rift on all sides • Supports swaying side to side, front and back • Tracking works while looking up and down • Player can turn more than 110 degrees to each side Positional Tracking
  • 13. Features of SDK 0.4 • Support DK1 & DK2 -New C Interface; recompile the game with new SDK • Positional tracking -Position origin is currently 1 meter from camera -SDK reports SensorStatewith predicted Pose state -Includes orientation, position and derivatives -Sets flags when out of tracking range -Falls back on head model • Direct-to-Rift and Extended Mode • OVR Configuration Utility
  • 14. Where OVR Software Stack is Heading • C Interface: Easy to bind from other languages • Driver DLL: Automatically support changes in HW and functionality • OVR Service: Rift sharing and VRs transitions across apps
  • 15. SDK Rendering vs. Game Rendering •0.2 SDK didn’t do any rendering •Only provided parameters needed for proper rendering •New rendering backend in SDK 0.4 •Takes over critical rendering features •Game(App) layer gives SDK L & R eye textures to ovrHmd_EndFrame()
  • 16. • General Work Flow -ovrHmd_CreateDistortionMesh Transforms the image through UVs More efficient to render then pixel shader Gives Oculus flexibility to change distortion -ovrHmd_BeginFrame -ovrHmd_GetEyePoses -Stereo rendering based on EyeRenderPose(Game Scene Render) -ovrHmd_EndFrame SDK Rendering vs. Game Rendering
  • 17. Finishes rendering with the following features on SDK 0.4: •Barrel distortion with chromatic aberration & time warp •Internal latency testing & dynamic prediction •Low-latency v-sync and flip (even better with direct-to-rift) •Health & Safety Warning SDK Rendering vs. Game Rendering
  • 18. • Easy to integrate: -No shaders, meshes to create -Pass device/system pointers and eye texture(s) -Support OpenGL and D3D9/10/11 -Must re-apply rendering state for next frame • Benefits: -Better compatibility with future Oculus HW and Features -Reduces graphics setup bugs -Support low-latency driver screen access such as front buffer rendering, etc. -Automatically support overlays: latency testing, camera guides, debug data, pass-through, platform overlays SDK Rendering vs. Game Rendering
  • 19. Supporting Game Engine •Unity 3D, Unreal Engine 3 & 4 use SDK rendering •In some cases, what you think is unsupported by our SDK, might actually be supported, but we still want to know! Ping us. We will listen.
  • 20. Extended Mode •Headset shows up as an OS Display •Application must place a window on Rift monitor •Icons and Windows in a wrong place •Windows compositor handles Present •There is usually at least one extra frame of latency •More latency if no CPU & GPU sync is done
  • 21. Direct To Rift Outputs to Rift without Display being a part of the desktop •Headset not seen by the OS •Avoid jumping windows and icons •Decouples Rift v-sync from OS compositor •Avoids extra GPU buffering for minimum latency •Use ovrHmd_AttachToWindow •Window swap chain output is directed to the Rift Hope to see Direct Mode become the longer term solution
  • 23. VR Motion to Photon Latency Input USB Game Engine Write Display Pixel Switching New Image
  • 24. VR Motion to Photon Latency Keeping latency low is crucial for a solid VR experience Goal is < 20 ms, and hopefully close to 5 ms We’re almost there! (stay tuned for some numbers)
  • 25. Reducing Latency -TimeWarp •Re-projects rendering for a later point in time •Done simultaneously with distortion •Reduces perceived latency •Accounts for DK2 rolling shutter •0.4 SDK handles orientation, positional possible
  • 26. Reducing Latency -TimeWarp 13.3 ms Any other way to apply sensor before the end of the frame? TimeWarp–Projected rendering -Pioneered by John 75 FPS
  • 27. Any other way to apply sensor before the end of the frame? TimeWarp–Projected rendering -Pioneered by John Reducing Latency -TimeWarp
  • 30. SDK Roadmap –Short Term Driver Improvements & Fixes •Multi-Monitor fixes to v-sync related latency & judder •Reduce post-present latency •Handle Optimus and multi-GPU scenarios Linux Support Asynchronous/Adaptive Time warp •Reduce Judder by generating extra frames when needed Time warp Layers •Handle Cockpit and Overlays separately from the scene
  • 31. Q&A