cancel
Showing results for 
Search instead for 
Did you mean: 

Oculus PC SDK 0.6.0.0 Beta (May 15, 2015)

cybereality
Grand Champion
The Oculus SDK 0.6 introduces the compositor, a separate process for applying distortion and displaying scenes and other major changes.

There are four major changes to Oculus SDK 0.6:

  • The addition of the compositor service and texture sets.

  • The addition of layer support.

  • Removal of client-based rendering.

  • Simplification of the API.

The compositor service moves distortion rendering from the application process to the OVRServer process using texture sets that are shared between the two processes. A texture set is basically a swap chain, with buffers rotated to allow game rendering to proceed while the current frame is distorted and displayed.

Layer support allows multiple independent application render targets to be independently sent to the HMD. For example, you might render a heads-up display, background, and game space each in their own separate render target. Each render target is a layer, and the layers are combined by the compositor (rather than the application) right before distortion and display. Each layer may have a different size, resolution, and update rate.

The API simplification is a move towards the final API, which primarily removes support for application-based distortion rendering.

New Features
The following are major new features for the Oculus SDK and runtime:

  • Added the compositor service, which improves compatibility and support for simultaneous applications.

  • Added layer support, which increases flexibility and enables developers to tune settings based on the characteristics and requirements of each layer.

  • Significantly improved error handling and reporting.

  • Added a suite of new sample projects which demonstrate techniques and the new SDK features.

  • Removed application-side DirectX and OpenGL API shims, which results in improved runtime compatibility and reliability.

  • Simplified the API, as described below.

  • Changed Extended mode to use the compositor process. Rendering setup is now identical for extended and direct modes. The application no longer needs to know which mode is being used.

  • Extended mode can now support mirroring, which was previously only supported by Direct mode.

  • Simplified the timing interface and made it more robust by moving to a single function: ovrHmd_GetFrameTiming.

  • Fixed a number of bugs and reliability problems.


The following are major new features for Unity:

  • Disabled eye texture anti-aliasing when using deferred rendering. This fixes the blackscreen issue.

  • Eliminated the need for the DirectToRift.exe in Unity 4.6.3p2 and later.

  • Removed the hard dependency from the Oculus runtime. Apps now render in mono without tracking when VR isn't present.


API Changes
This release represents a major revision of the API. These changes significantly simplify the API while retaining essential functionality. Changes to the API include:

  • Removed support for application-based distortion rendering. Removed functions include ovrHmd_CreateDistortionMesh, ovrHmd_GetRenderScaleAndOffset, and so on. If you feel that you require application-based distortion rendering, please contact Oculus Developer Relations.

  • Introduced ovrSwapTextureSets, which are textures shared between the OVRServer process and the application process. Instead of using your own back buffers, applications must render VR scenes and layers to ovrSwapTextureSet textures. Texture sets are created with ovrHmd_CreateSwapTextureSetD3D11/

  • OpenGL and destroyed with ovrHmd_DestroySwapTextureSet.

  • ovrHmd_BeginFrame was removed and ovrHmd_EndFrame was replaced with ovrHmd_SubmitFrame.

  • Added a new layer API. A list of layer pointers is passed into ovrHmd_SubmitFrame.

  • Improved error reporting, including adding the ovrResult type. Some API functions were changed to return ovrResult. ovrHmd_GetLastError was replaced with ovr_GetLastErrorInfo.

  • Removed ovr_InitializeRenderingShim, as it is no longer necessary with the service-based compositor.

  • Removed some ovrHmdCaps flags, including ovrHmdCap_Present, ovrHmdCap_Available, ovrHmdCap_Captured, ovrHmdCap_ExtendDesktop, ovrHmdCap_NoMirrorToWindow, and ovrHmdCap_DisplayOff.

  • Removed ovrDistortionCaps. Some of this functionality is present in ovrLayerFlags. ovrHmdDesc no longer contains display device information, as the service-based compositor now handles the display device.

  • Simplified ovrFrameTiming to only return the DisplayMidpointSeconds prediction timing value. All other timing information is now available though the thread-safe ovrHmd_GetFrameTiming. The ovrHmd_BeginFrameTiming and EndFrameTiming functions were removed.

  • Removed the LatencyTest functions (e.g. ovrHmd_GetLatencyTestResult).

  • Removed the PerfLog functions (e.g. ovrHmd_StartPerfLog), as these are effectively replaced by ovrLogCallback (introduced in SDK 0.5).

  • Removed the health-and-safety-warning related functions (e.g. ovrHmd_GetHSWDisplayState). The HSW functionality is now handled automatically.

  • Removed support for automatic HMD mirroring. Applications can now create a mirror texture (e.g. with ovrHmd_CreateMirrorTextureD3D11 / ovrHmd_DestroyMirrorTexture) and manually display it in a desktop window instead. This gives developers flexibility to use the application window in a manner that best suits their needs, and removes the OpenGL problem with previous SDKs in which the application back-buffer limited the HMD render size.

  • Added ovrInitParams::ConnectionTimeoutMS, which allows the specification of a timeout for ovr_Initialize to successfully complete.

  • Removed ovrHmd_GetHmdPosePerEye and added ovr_CalcEyePoses.


Bug Fixes
The following are bugs fixed since 0.5:

  • HmdToEyeViewOffset provided the opposite of the expected result; it now properly returns a vector to each eye's position from the center.

  • If both the left and right views are rendered to the same texture, there is less "bleeding" between the two. Apps still need to keep a buffer zone between the two regions to prevent texture filtering from picking up data from the adjacent eye, but the buffer zone is much smaller than before. We recommend about 8 pixels, rather than the previously recommended 100 pixels. Because systems vary, feedback on this matter is appreciated.

  • Fixed a crash when switching between Direct and Extended Modes.

  • Fixed performance and judder issues in Extended Mode.


Known Issues
The following are known issues:

  • Switching from Extended Mode to Direct Mode while running Oculus World Demo causes sideways rendering.

  • Judder with Oculus Room Tiny Open GL examples in Windows 7.

  • The Oculus Configuration Utility can crash when the Demo Scene is repeatedly run.

  • Application usage of CreateDXGIFactory can result in reduced performance; applications should use CreateDXGIFactory1 instead. Support for CreateDXGIFactory is deprecated in this release and will be removed in a future release.

  • For Windows 7 in Extended Mode, any monitors connected to the computer go black when the headset is on and return to normal operation when the headset is removed.

  • For Windows 7 in Extended Mode, if the headset is placed above the monitor(s), all displays might go black. The workaround is to place the headset to the right or left of the monitor(s).

  • PC SDK applications will crash if the OVR service is not running.


https://developer.oculus.com/downloads/
AMD Ryzen 7 1800X | MSI X370 Titanium | G.Skill 16GB DDR4 3200 | EVGA SuperNOVA 1000 | Corsair Hydro H110i Gigabyte RX Vega 64 x2 | Samsung 960 Evo M.2 500GB | Seagate FireCuda SSHD 2TB | Phanteks ENTHOO EVOLV
94 REPLIES 94

Anonymous
Not applicable
Hi

I'm getting this error when turning on the DK2 in extended mode. Any ideas ?

NivekTT
Honored Guest
I experienced the described issues in Elite too. Rolling back.

marcellusw1
Honored Guest
"ejz6837" wrote:
The 0.6.0.0 Beta introduces slight skipping (judder) on all demos when looking left and right. This happens even on the Oculus desk demo. Reverting to 0.5.0.1 solves the problem. Anyone else have this?



Me too I had the same issues. I'm on windows 7 and using DK1, and the problem was in direct and extended mode. Only I wouldn't describe the judder as slight, it completely broke the illusion and is unusable for me. Unity integration also had the judder. It also made the main monitor go black when using new Unity 5.1 Beta. Like the man said the problem also shows itself in the demo scene and all VR apps. Needles to say I can only describe 0.6.0 as completely broken and will go back to 0.5.0.1 presently.

Tojiro
Protege
I've had a couple of times now with 0.6.0.0 where I start up one of the apps bundled with the SDK (OculusWorld in this case) and the Rift displays just static (unchanging) pixel snow. You can see it in this image where I've removed one of the lenses.



Each time this has happened restarting the app has fixed it. I've only seen it with Direct Mode but that's mostly because I never run in Extended.

tozz3r
Explorer
"sylas" wrote:
"jcollins" wrote:
The ovr_sdk_all_src_0.6.0.0 solution wont open.

LibOVRRT Error:
Unable to read the project file "LibOVRRT.vcxproj".

OculusSDK_0.6.0.0\LibOVR\Projects\Windows\VS2013\LibOVRRT.vcxproj(269,5): The imported project "OculusSDK_0.6.0.0\LibOVR\Projects\Windows\LibOVR.props" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.

LibOVRKernel Error:
The project file 'OculusSDK_0.6.0.0\LibOVRKernel\Projects\Windows\VS2013\LibOVRKernel.vcxproj' has been moved, renamed or is not on your computer.

I had these types of errors before, and I'm willing to bet that it happens with many different installers, like Direct X or perhaps one of the many Windows DOT NET packages. The reason it happened to me is because I used a deprecated Microsoft Tool to clean old DOT NET and Visual C packages in my Windows\INSTALLER and WINSXS folders...all in the name of trying to create more space on my SSD. The tool is not provided by Microsoft anymore not because it doesn't work...but because it causes massive problems with your whole OS install. If you are finding that random things will not install, then you are suffering what I already went through. You may have better luck finding a fix. Or perhaps, you just downloaded a corrupt file. But if it continually fails to install, and other things will not install either, then you know what you're up against, and unless you find some magic fix, you will have to reinstall Windows. Some people will say that those old installers in those directories are worthless, and just taking up space. I firmly disagree with that stance, and once I did remove those old installers....I couldn't really install anything else. Even unrelated programs.


Thanks Sylas, but I think it's a problem with the package. It's missing a bunch of files. If I use the "Oculus SDK for Windows" it has it all, but it also has a bunch of samples I don't want. I was hoping for a clean SDK package which is what I assumed the "Oculus SDK Source" was. Not a biggie, maybe just some feedback to the OVR team.

Marconi
Explorer
So I've got a brand new Virgin PC and just installed 8.1
Do I install SDK 6 or not? I see a lot of people having trouble with it on Windows 7. I've never had problems with 8.1 on my old PC so was wondering what I should do?
APPLE LOVE iPhone, iPad, Macbook Pro, iMac GTX 970, 16GB, Water-cooled MONSTER.

yazze
Honored Guest
Looking at replies...I guess I'm not installing it.

This Extended vs Direct mode was a no-brainer to fix or consolidate, but seems like this new SDK does what bad updates do: screws everything up.

Oh well, never update to a new version until you've seen feedbacks or a few incremental updates.

tzuvela
Protege
Can we have the option of simply duplicating rift image onto PC monitor?

I have 1080p 75hz monitor and simply don't see the need for all this fuss.

For people with higher or lower resolution image would have to be scaled, but even that would probably work better than what we have now.
For a successful technology, reality must take precedence over public relations, for Nature cannot be fooled. Richard Feynman

bigmike20vt
Visionary
"marconi" wrote:
So I've got a brand new Virgin PC and just installed 8.1
Do I install SDK 6 or not? I see a lot of people having trouble with it on Windows 7. I've never had problems with 8.1 on my old PC so was wondering what I should do?



I guess it depends.

are you a developer? if so then you probably should. No point getting your project working in 5.01 and it being broken in 6.

however if you are just an enthusiast user then its a no brainer to stay with the older software untill devs have updated their software imo.
Fiat Coupe, gone. 350Z gone. Dirty nappies, no sleep & practical transport incoming. Thank goodness for VR 🙂

Marconi
Explorer
"bigmike20vt" wrote:
"marconi" wrote:
So I've got a brand new Virgin PC and just installed 8.1
Do I install SDK 6 or not? I see a lot of people having trouble with it on Windows 7. I've never had problems with 8.1 on my old PC so was wondering what I should do?



I guess it depends.

are you a developer? if so then you probably should. No point getting your project working in 5.01 and it being broken in 6.

however if you are just an enthusiast user then its a no brainer to stay with the older software untill devs have updated their software imo.


Enthusiast. Will stick with the previous software then, thanks:)
APPLE LOVE iPhone, iPad, Macbook Pro, iMac GTX 970, 16GB, Water-cooled MONSTER.