In this video, Brad gives a walkthrough of an application that pulls images from a live Rift-mounted webcam and renders them to the display.
Links for this video:
Articles related to virtual reality with a focus on software development, by the authors of Oculus Rift in Action.
Wednesday, October 22, 2014
Tuesday, October 14, 2014
Using the DK 2 on a MacBook Pro
Updated this information elsewhere so updating it here, too. Here is what I did to get the DK 2 running on the MacBook Pro.
I first downloaded the 0.4.1 SDK and Runtime for the Mac. I then plugged in all cables as recommended in the guide that comes with the DK 2. After getting the cables set up, I installed the Runtime and SDK. The README contains this note:
As I had tested the DK2 out on Windows previously, I had already updated my DK2 firmware to 2.11. Just to be sure, I ran OculusConfigUtil and confirmed that my firmware was up-to-date. While I had it open, I went ahead and created a user profile for myself. Creating a profile can help prevent discomfort when using the Rift.
On Windows, there is the new Direct HMD Access display mode which can be set by selecting Tools > Rift Display Mode in the OculusConfigUtil menu. At this time, Direct HMD Access mode is not supported on the Mac.
So for the Mac, the next step is to configure the displays. As with earlier releases, you have the choice of using Extended mode and Mirrored mode. Previously, I had not been able to get Extended mode to work and was forced to use mirroring. Oculus recommends against mirroring, so I gave Extended mode another try.
In the OculusConfigUtil I then selected Show Demo Scene and the demo scene appeared correctly on the Rift. Yeah!
I then tried to run the “Oculus World Demo" and it appeared on my main monitor and not the Rift. The mouse cursor also disappeared so there was no way to move the demo window to the extended portion of the desktop. The Unity Integration guide monitor set up section says “Some Unity applications will only run on the main display. In the Arrangement screen, drag the white bar onto the Rift's blue box to make it the main display.” This was the case with the “Oculus World Demo" and to view it I needed to set the Rift as the main display and then run the demo. But, doing so wasn’t as simple as it sounds.
Working with the desktop is not really possible when looking through the Rift, so I needed to first make sure the “Display Preferences Window” and the finder window with the application I wanted to launch were situated such that they were at least partially on the extended portion of the display before I switched to having the Rift be the main display.
With these windows in place, in the “Display Preferences Window” I grabbed the white bar that indicates which display is the main display and dragged it so that the Rift was now the main display.
Then with my main screen as the extended display, I double clicked on the “Oculus world demo” to run it.
I first downloaded the 0.4.1 SDK and Runtime for the Mac. I then plugged in all cables as recommended in the guide that comes with the DK 2. After getting the cables set up, I installed the Runtime and SDK. The README contains this note:
“Before using your new DK2, it is critical to update the firmware on the headset. This is important to ensure reliable functioning of your DK2. Use the Config Util to install the firmware file supplied in this release (v2.11). This is only relevant to DK2 owners.”
OculusConfigUtil profile screen |
OculusConfigUtil Display modes selection panel |
Extended Mode
In the display preference, I set the displays to extended mode. My laptop screen was set as the main display and the Rift was the extended display. The Unity Integration guide, in the monitor set up section, says “For DK2, the resolution should be Scaled to 1080p, the rotation should be 90°and the refresh rate should be 75 Hertz,” so those were the settings I used.
In the OculusConfigUtil I then selected Show Demo Scene and the demo scene appeared correctly on the Rift. Yeah!
The desk scene demo accessed by selecting the "Show Demo Scene" button in OculusConfigUtil |
I then tried to run the “Oculus World Demo" and it appeared on my main monitor and not the Rift. The mouse cursor also disappeared so there was no way to move the demo window to the extended portion of the desktop. The Unity Integration guide monitor set up section says “Some Unity applications will only run on the main display. In the Arrangement screen, drag the white bar onto the Rift's blue box to make it the main display.” This was the case with the “Oculus World Demo" and to view it I needed to set the Rift as the main display and then run the demo. But, doing so wasn’t as simple as it sounds.
Working with the desktop is not really possible when looking through the Rift, so I needed to first make sure the “Display Preferences Window” and the finder window with the application I wanted to launch were situated such that they were at least partially on the extended portion of the display before I switched to having the Rift be the main display.
Desktop window positioning |
You need to grab the white bar that indicates which display is the main display and drag it so that the Rift is main display. |
Then with my main screen as the extended display, I double clicked on the “Oculus world demo” to run it.
OculusWorldDemo |
And the demo ran successfully on the Rift.
That process was very cumbersome, so I decided to also take a look at using mirrored mode.
Mirrored Mode
In the display preferences, I set the displays to mirrored. Again, I needed to rotate the display 90 degrees for the display to be the correct orientation.
I then ran both the “Oculus World Demo” and the demo in the config Utility. In both cases I saw a lot of judder as I moved my head around (very headache inducing). The release notes have this to say on the topic:
On a suggestion from Brad, I tried setting the display refresh rate to 60 hertz. This significantly reduced the judder; however, there was noticeable screen blur when I moved my head. The good news on the blur was that unlike the judder, it wasn’t an immediate headache trigger for me.
“ Scene Judder - The whole view jitters as you look around, producing a strobing back-and-forth effect. This effect is the result of skipping frames (or Vsync) on a low-persistence display, it will usually be noticeable on DK2 when frame rate falls below 75 FPS. This is often the result of insufficient GPU performance or attempting to render too complex of a scene. Optimizing the engine or scene content should help.
We expect the situation to improve in this area as we introduce asynchronous timewarp and other optimizations over the next few months. If you experience this on DK2 with multiple monitors attached, please try disabling one monitor to see if the problem goes away.”
On a suggestion from Brad, I tried setting the display refresh rate to 60 hertz. This significantly reduced the judder; however, there was noticeable screen blur when I moved my head. The good news on the blur was that unlike the judder, it wasn’t an immediate headache trigger for me.
Which mode will I use?
Which mode I will use will really depend on what I am trying to do. If I am just using the Rift, I would choose extended mode as it does offer better performance. In extended mode I was seeing 75 FPS and in mirrored mode with the refresh rate set to 75 hertz I was seeing 46 FPS and with the refresh rate set to 60 I was seeing 60 FPS.
But until Direct HMD Access mode works on the Mac, unless I am testing for performance, I will probably mostly use mirrored mode when developing. Mirrored mode allows me to see what the person using the Rift is doing and provides a faster work-flow for doing quick iterations.
Wednesday, October 1, 2014
Video: Dynamic Framebuffer Scaling in the Oculus Rift
In this video Brad discusses dynamic framebuffer scaling in the Oculus Rift:
Links from the video:
Links from the video:
- Oculus Rift in Action
- Source code for the example used in the video
Subscribe to:
Posts (Atom)