The Oculus SDK 0.5 has moved from static linking to a dynamic link library (DLL) model in which the DLL is installed by the Oculus runtime. Using a DLL offers several advantages:
- It allows us to fix bugs and update implementation for new headset features after applications have been compiled and shipped.
- It allows us to evolve the API without breaking applications through the use of side-by-side versioned DLLs.[/list]
While in development kit mode, we plan to support old side-by-side DLLs for at least two months, giving developers time to update applications. After the consumer release, we will update the SDK to version 1.0 and, going forward, will support released API versions for longer periods of time.
New Features
Oculus SDK
Updated LibOVR to rely on a runtime-installed DLL for better forward compatibility and delivery of bug fixes.
Introduced a four-digit runtime versioning scheme: PRODUCT#.MAJOR.MINOR.PATCH (e.g. 0.5.0.1). The last three digits of the scheme map philosophically to Semantic Versioning.
Added OpenGL support to OculusRoomTiny.
Introduced OculusRoomTiny_Advanced, which supports more SDK features and toggles.
Improved DK2 headset USB sleep management on Windows 8.1.
Updated the Oculus Configuration Utility to display headset status and diagnostic messages. Users can now view firmware version and serial numbers by hovering over the device image.
Unity
Added OVRManager.eyeTextureAntiAliasing to control scene antialiasing separately from distortion antialiasing.
Exposed left and right eye Cameras as properties in OVRCameraRig.
Fixed virtualTextureScale for dynamic resolution scaling.
Added OVRCameraRig.UpdatedAnchors event to allow immediate handling and post-processing of tracking updates.
Added TrackingSpace GameObject between OVRCameraRig and eye anchors to allow custom reset and rig movement behavior.
Fixed Xbox 360/Xbox One gamepad support on Mac.
Replaced the Tuscany demo with a simple scene called Room to simplify the core integration download.
Removed the dead OVRVisionGuide script.
Made minor API cleanups to prevent invalid configurations.
Made various stability improvements.
API Changes
Moved and renamed LibOVR/Src/OVR_CAPI.h to LibOVR/Include/OVR_CAPI_0_5_0.h.
Some additional public headers such as OVR_Version.h have been moved to LibOVR/Include/.
Added ovrHmdCap_DebugDevice flag to indicate that device was created with ovrHmd_CreateDebug.
Renamed ovrDistortionCaps::ovrDistortionCap_ProfileNoTimewarpSpinWaits to ovrDistortionCap_ProfileNoSpinWaits.
Removed ovrDistortionCap_NoTimewarpJit as Timewarp delay is disabled by default. Use ovrDistortionCap_TimewarpJitDelay to enable it.
Removed ovrTrackingState::LastVisionProcessingTime and LastVisionFrameLatency.
ovr_Initialize now takes a params argument that provides log callback and other arguments. See the in-code documentation for details.
Added ovrQuatf playerTorsoMotion argument to ovrHmd_GetEyeTimewarpMatricesDebug.
Added ovr_TraceMessage, which can be used to send a message to the log.
Removed support for DX10.
Deprecated DX9 support, which will be removed in a future version of the SDK.
ovr_Initialize now can return false for additional reasons than previously.
No API functions may be called after ovr_Shutdown except ovr_Initialize.
Bug Fixes
Oculus SDK
Fixed a bug in which full persistence was inadvertently enabled due to device initialization races.
Fixed uncommon deadlocks in the runtime service.
Known Issues
Unity
The editor Game View goes black unless you set the aspect ratio to "Free Aspect".
Rapidly starting and stopping Play Mode in the editor may cause a crash.
The editor preview does not render to the Rift in Direct Display mode; be sure to use Extended Mode.
Mac
Rotating the display through System Preferences requires a restart of the service
AMD Ryzen 7 1800X | MSI X370 Titanium | G.Skill 16GB DDR4 3200 | EVGA SuperNOVA 1000 | Corsair Hydro H110i
PowerColor RX 480 x2 | Samsung 960 Evo M.2 500GB | Seagate FireCuda SSHD 2TB | Phanteks ENTHOO EVOLV
0
Comments
-heavy judder in editor
-no low persistence in builds. Well above 75fps and the motion blur is ridiculous, it seems worse than the dk1
running Unity 5
Is there any way to disable the notifications from the configuration utility? I really dont need to know that i've turned my rift on or off every time i go to test something.
Optimised scheduling Improved CPU/GPU parallelism Multi-view rendering Asynchronous TimeWarp Late Latching
PowerColor RX 480 x2 | Samsung 960 Evo M.2 500GB | Seagate FireCuda SSHD 2TB | Phanteks ENTHOO EVOLV
with:
PowerColor RX 480 x2 | Samsung 960 Evo M.2 500GB | Seagate FireCuda SSHD 2TB | Phanteks ENTHOO EVOLV
This has Never happened in the demo scene.
Press escape. Exits but not config tool will not work. Had to use task manager to kill it and reboot
Launch config tool. Cant see rift. Turn off rift, then turn on. Now can see rift
Go into demo scene. Still mega lag...
Just tried New retro arcade and smooth as butter!
Elite Dangerous seems to be running the same
That is, as soon as any apps or games begin supporting this.
Trying to re-install the runtime to see if this fixes the problem.
EDIT: Re-installing the runtime didn't fix the issue, my DK2 is not detected in extended mode.
Windows 8.1 Pro, GTX 770.
I can now use the Rift again!
API Changes
Removed ovrDistortionCaps::ovrDistortionCap_Chromatic - now enabled permanently
http://github.com/bjornblissing/osgoculusviewer
WWW: http://www.vti.se/drivingsimulator
Twitter: http://twitter.com/bjornblissing
edit: Apparently palmer said they have an alpha with oculus rift support integrated into unity and the open beta will launch "later this month": https://youtu.be/fmu6rzYDt1w?t=3795
So this will then work on linux?
"While in development kit mode, we plan to support old side-by-side DLLs for at least two months, giving developers time to update applications. After the consumer release, we will update the SDK to version 1.0 and, going forward, will support released API versions for longer periods of time."
So, consumer version in two months time ...? :?
Its OK. I have begun the self flagellation already.
This basically means, if they release 0.5.0.2 tomorrow, they will not remove 0.5.0.1 support for at least 2 months, to give devs time to update to the lastest version.
[Unofficial] VR Game Manager - viewtopic.php?f=26&t=12754
Ah :?
Thank you, brother Bilago.
If you need me, I will be in the penitence room. With the leeches.
please let us now.
Nice job Oculus.
Direct mode works for you in what?
In Windows 10 Build 10041 it says there is a conflict with the Oculus drivers but seems to start up and run in Extended mode fine from what I could see so far in the Demo scene, Direct mode is grayed out in config utility.
Will do some more testing.
Check if the rift is set to 60hz in your gpu driver. I had that after upgrading the SDK. Setting the rift to 75hz in catalyst control panel fixed it.
In the desk demo, Unity demos/games and Unreal games/demos. Everything tried so far, except those which require extended mode such as Assetto Corsa.
The option to "swapBuffers" is great! However can you expose it to ovrHmd_EndFrame
with this change (default parameter needed to maintain code comptability)
OVR_PUBLIC_FUNCTION(void) ovrHmd_EndFrame(ovrHmd hmd, const ovrPosef renderPose[2], const ovrTexture eyeTexture[2], bool const swapBuffers = true);It's currently hardcoded in OVR_Capi.cpp to always call DistortionRenderer::EndFrame(uint32_t frameIndex, bool swapBuffers) with swapBuffers as true
It still works, as you have implemented the checks for a nullptr inside DistortionRenderer::EndFrame, which will cause the present to not be called, and the else statement "// TBD: Generate error - swapbuffer option used with null swapchain."
To clarify why/what using nullptr for pSwapChain is for :
void cDirectX::EndFrame() { ID3D11DeviceContext1* const __restrict d3dContext(m_pcDC->getDC()); ID3D11CommandList* __restrict pd3dCommandList(nullptr); cMaxVRSingleton::getOculus()->EndFrame(d3dContext); d3dContext->FinishCommandList(FALSE, &pd3dCommandList); AcquireSRWLockShared(&m_SRWLockForIC); m_d3dContextIC->ExecuteCommandList(pd3dCommandList, FALSE); m_swapChain->Present(m_uiSyncInterval, 0); ReleaseSRWLockShared(&m_SRWLockForIC); pd3dCommandList->Release(); // State Reset for Next Frame Begins // m_pcDC->Invalidate(); }Great news, as the critical section would have had to encapsulate the Oculus Endframe, which added uneccessary time to the critical section lock - distortion rendering.
Thanks devs @ Oculus!
Home of the MaxVR Oculus Rift Video Player
https://twitter.com/Carandiru