cancel
Showing results for 
Search instead for 
Did you mean: 

Capsule - CUDA-based omni-stereo image viewer

joan
Protege
This is a small viewer for omni stereo images. Your feedback is appreciated 😄

Capsule-0.3.0-x64.zip

The application does basically one thing: display omnidirectional stereoscopic images to the Rift.



Supported formats

  • Equirectangular projections in Left/Right and Over/Under configurations.

  • Stereo-cubemaps in the "long strip" format used by GearVR "Oculus 360 Photos" and OTOY's ORBX app.

  • *.vr.jpeg files produced by Google Cardboard Camera app.


Usage

  • Open files by using the menu or by dragging and dropping from Windows Explorer.

  • Navigate through files in the current directory with the Left and Right arrow keys.

  • Use the UI options to control the quality/performance tradeoff.


System requirements

  • Nvidia GPU with CUDA compute capability 3.0+. (GTX 600 series or greater).

  • Windows 7, 8 or 10 in x64 and with .NET 4.5.

  • Oculus runtime 0.8.0.0.

  • Face with 2 or more eyes.


Design goals

  • Being able to quickly view OTOY's Render the Metaverse stereo cubemaps on the DK2.

  • Being able to compare and study omni-stereo images from different sources and formats.

  • Improving my CUDA programming and exploring the CUDA/Oculus interop.


Performances

  • I maintain the 75fps on my GTX 660 at 2.0 pixel density for a 18K stereocubemap and 8K equirect.

  • Note that the equirectangular kernel is slightly slower than the cubemap one. Adjust pixel density accordingly if you get judder.

  • If you get flickering on one eye, make sure there is no other GPU heavy application running.


Please keep in mind that this is baked-in stereo, you have 2 DOF. Avoid translating your head too much and tilting. A slight distortion wobble is to be expected when rotating your head. If there is a lot of wobble it might be coming from a higher than normal latency, verify this with the performance hud (F11).

Thanks for reading. Your feedback is appreciated :idea:
32 REPLIES 32

Anonymous
Not applicable
I am happy the problem is solved. I was playing a lot with your application. I work on a commercial version of similar code - playing movies instead of still images.
Suggestions for improvement:
1) Add joypad control for the image changes + as additional rotation tool. Without controlling the rotation
by something else than HMD sensors it is hard to look backward in the scene without standing up.
2) Thing about speeding up the image reading. What about silently pre-read more images from HD to make faster visualization possible ?

Clodo
Protege

husakm said:

I am happy the problem is solved. I was playing a lot with your application. I work on a commercial version of similar code - playing movies instead of still images.



I'm very happy to see someone that are working on a video player.
I recently done some rendering experiment with POV-Ray, some day ago i rendered a testing/stress video: 120 frames rendered at 7680 x 7680 ODS Stereo Top/Bottom (around 32 MB per frame, PNG loseless). Perfectly loopable (1 sec at 120fps, 2 sec at 60fps etc.).

But i'm stuck about different tests of encoding choices: resizing to "4k uhd" vs "4k dci" vs "8k", framerate (120/90/75), codec (h264/h265).
Currently it's a pain. No VR video-player support smooth loop (i mean restart from frame 0 instantly when reach the last frame, any standard player like WMP, MPC-HQ, VLC do that). Virtual Desktop don't have loop at all.
And, in general, any video player i tested can't playback this kind of fps/resolution smoothly.
Anyway, i soon post some .mp4 files if anyone is interested.

diogofigueiredo
Protege
Any news on upgrading this to SDK1.3? That would be really great.
Thanks in advance!
Owner of a DK2 since October 2014. Anxiously waiting for the delivery of the CV1.

joan
Protege
I'll probably do that after I receive my CV1 in April June.

The goal however was to have a modest and lightweight application that goes fast from startup to seeing the image. Something for content authors to check their work rapidly for example. I'll see how this can be done in 1.3. This is a small side project, I don't really want to implement a full blown UI in VR just to tweak pixel density or select an image, and not sure I want to bother with application signing and submission to Home.

JeffreyK
Explorer
Really hope to see this in 1.3 too 🙂 I am also waiting for my CV1, but DK2 works great in 1.3 so i had to upgrade. At the moment to view my cardboard 3d images I have to extract the images and view them side by side in an app and use virtual desktop to do the stereo split for the rift. 😞

You could totally make a super simple "Cardboard Photo Viewer" and sell it for a couple bucks on the rift store. I would buy it instantly. Wouldn't need a gui, just designate a folder and then allow the user to go forward or back through the images using the game pad. 

auxbrain
Honored Guest
Super bummed to see this not working with my just arrived CV1 😞

I'm using this on a project and Oculus 360 photos will have to do in the pinch, but there a very noticeable increase in distortion in the Oculus viewer.

If there is any way to get a "blind" build for 1.3 out before you get your CV1 it would be greatly appreciated. Happy to make a donation.

Thanks!

NoodlesBun
Honored Guest
Im looking forward to this working with cv1 ^^

karts
Honored Guest
Would be awesome to see this on the CV1, any news on that?

joan
Protege
Hi everyone,

I updated my Capsule omnidirectional stereo viewer and it's now in a testable state. If you are still interested it would be super helpful if anyone could give it a try. I used OpenVR API this time, but tested on the Rift CV1. Note that the same requirement regarding graphics card remain: Nvidia GPU with CUDA compute capability 3.0+ (GTX 600 series).

Here is a candidate for testing before I update the link in the first post: https://joancharmant.com/software/capsule/test/Capsule-0.4.0-x64.zip

Let me know if you get anything unexpected, slowdowns or crashes, etc. I only tested this on the Rift at the moment, but it should work in any SteamVR headset.
Also let me know of anything you think could streamline usage or any annoyance experienced.

You can reach me through here or the email in the readme.txt.
Thanks



nchejuan
Honored Guest
Hi, tested it but it just crashes with "Capsule has stopped working". I have a 970, Windows 10, .NET 4.6.2 and a retail Oculus.