Changes

Jump to: navigation, search

Developer Resource

1,830 bytes added, 11:42, 4 January 2017
no edit summary
{{stub}}
{{TOCRIGHT}}
==How to Get Started==
{{see also|How to Get Started in VR Development}}
{{:How to Get Started in VR Development}}
==SDKs==
[[SDKs]] or [[Software Development Kits]] are used to build [[VRapps]] . An [[games]] and [[experiencesapp]]. A game/experience can either implement [[OVR]] or [[OpenVR]] or both. This means that the game/experience app has access to native functionality in it's corresponding runtime. '''SDKs do not handle [[asynchronous timewarp]] or [[reprojection]], those are handled by the runtime!'''
*'''[[OVR]]''' - Made by [[Oculus VR]] for the [[Oculus Rift]]. Current version (14th May 2016) is 1.3.1 and can access all features of the [[Oculus Runtime]].
*'''[[SteamVR Runtime]]''' is responsible for [[reprojection]] and supports [[Rift]] and [[Vive]].
 
If you launch a game on Steam that supports [[Rift]] natively (meaning, it has been compiled against the [[Oculus SDK]]), you will get [[asynchronous timewarp]] and it will run exactly like the game from Oculus Home. It won't use the the [[SteamVR Runtime]], it will use the [[Oculus Runtime]]. Only downside is that launching the game is more difficult.
 
If you buy a game that is compiled against the [[OpenVR SDK]], then it can run on [[Vive]] and Rift. However, running on Rift uses both runtimes:
 
Rendered Image using the OpenVR SDK -> SteamVR Runtime -> Oculus Runtime -> Rift
 
The Oculus Runtime effectively thinks you are playing a game called "SteamVR", but the content of the "game" is actually the image that the SteamVR runtime got from the OpenVR compiled game. This seems to work rather well and personally I have not noticed any additional latency. In theory you would even get Asynchronous Timewarp, but that would only happen if SteamVR itself isn't responding in time. If an OpenVR game stalls completely, the SteamVR runtime will throw you back into the loading construct and continues to render at 90fps. Since the SteamVR runtime has this fail safe mechanism and all the Oculus Runtime sees is "SteamVR", it will most likely never trigger Asynchronous Timewarp.
==App Stores==
*'''[[Steam]]/[[SteamVR]]''' technically does not need to run when launching [[OpenVR]] games, but highly recommended (room setup and config is pulled from there). Also handles overlay menu on the Xbox button, or when running on the Rift, it launches by pressing the select/start button in the Oculus Universal Menu.
 
===Example===
[[Project Cars]] on Steam supports both [[OpenVR]] and [[OVR]]. The Oculus Home version supports only OVR as of today.
 
#Project Cars on Home + Rift -> will run natively
#Project Cars on Steam + Vive -> will run natively
#Project Cars on Steam + Rift + launched as Rift app -> will run natively
#Project Cars on Home + Vive -> won't run
#Project Cars on Steam + Rift + launched as SteamVR app -> will run via SteamVR
==Wrappers and Injectors==
[[Oculus Rift]] [[games]]/[[experiencesapps]], or better said games/experiences apps compiled with the [[OVR]] [[dll]]s do not render to the [[HMD]] directly. They render their images and send them to the [[runtime]]. The interface for that are the dlls. [[Wrappers]] replace the content of the dlls with functions that are named identically, but redirect the games rendered image to a different runtime. Equally, they provide the game with the [[rotational tracking|rotation]] and [[positional tracking|position]] data of the headset.
*[[ReVive]] replaces the content of the dlls with functions that communicate with the [[SteamVR Runtime]]. The game thinks it's connected to a [[Rift]], but it is not. The SteamVR runtime is rendering the game and supports [[reprojection]], but not [[asynchronous timewarp]] (remember, this is a feature of the [[Oculus Runtime]]).
==Resources==
[[Oculus Sample Framework]] and [[Oculus Sample Framework for Unity 5]]<ref>https://developer.oculus.com/blog/introducing-the-oculus-sample-framework-for-unity-5/</ref> - Experimental sandbox for VR developers and designers.
{{see also|Resources Directory}}
{{:Resources Directory}}
==3D models==
15,794
edits

Navigation menu