Oculus Overlay for SideBySide content — Oculus
New to the forums? Click here to read the "How To" Guide.

Developer? Click here to go to the Developer Forums.

Oculus Overlay for SideBySide content

holophone3dholophone3d Posts: 37
Brain Burst
edited September 2016 in Showcase
If you got an expiration warning, just grab the latest version below

Hey guys, I just prototyped an "OculusOverlay" and it's pretty cool. It can warp in realtime any source content of any size from any desktop window into the OculusRift format I've included a screenshot that shows a 3D trailer from youTube playing on my desktop and a Oculus adjusted view in my second monitor. I was thinking this would be easier than trying to make all applications that produce SideBySide content Rift compatible... this works for videos, games, images, emulators (VirtualBoy anyone ;) ), anything really...

This now has support for tons of features, check out the readme.txt or hit 'SpaceBar' to get a command list!

Let me know what you think.

1253_26cf6793e3f85e4922044992ecfc4421.jpg




UPDATE 9/11/16: Latest code update is 0.92a without expiration


*Note* - this requires the XNA 4.0 redist installed (6.7mb) you can get it from MS here: http://www.microsoft.com/en-us/download ... x?id=20914
«13456

Comments

  • drashdrash Posts: 2,846
    Neo
    Wow, that's really nice work!

    I'm guessing the one thing that's missing is just making it appear to be a certain distance away? It looks like both left and right images are the same in this case, and the content takes up the entire display so it might be hard to watch a la sitting in the front row at a movie theater?
  • darrendarren Posts: 251
    If you can do that, can't you just take a non-side-by-side image and paste it alongside while generating the final image?

    It would work for virtual movie-theatre style content, and then literally we could mirror the whole windows desktop on the left monitor by pointing your app to it and you would render a virtual monitor on the right-hand-side. Problem solved.
    "Collecting user blood samples is critical for the operation of the device. We have struggled with our ability to communicate our vision about how user blood sample collection is the future of VR gaming." - Microsoft
  • Wow man you are a genius :o !! does it works with fullscreen games too ? where can we get your awesome overlay for oculus :D ? Thanks
  • edulinaresedulinares Posts: 275
    This is great!! Is this an executable? Can you put this out for us to download?
  • RealaReala Posts: 7
    NerveGear
    Hey guys, I just prototyped an "OculusOverlay" and it's pretty cool. It can warp in realtime any source content of any size from any desktop window into the OculusRift format (you've gotta have a decent computer though). I've included a screenshot that shows a 3D trailer from youTube playing on my desktop and a Oculus adjusted view in my second monitor. I was thinking this would be easier than trying to make all applications that produce SideBySide content Rift compatible... this works for videos, games, images, emulators (VirtualBoy anyone ;) ), anything really...

    Let me know what you think.

    Here's hoping it looks good when I get my dev kit. 8-)

    Looks like some great work. You might also want to check out how the Virtual Boy emulator handles its output. It doesn't use the extremities of the viewing area, only the center portion. I'm not sure if it's possible to do something like that with your solution, but it seems to work very well and my impression is it's a more comfortable to use. Just a possible suggestion based on pure conjecture though, not sure which would work out better in practice.
  • holophone3dholophone3d Posts: 37
    Brain Burst
    Hey guys, just an update here. Been working on a few of the suggestions and testing out some performance tweaks in my spare time. Check out the new image, showing 3 new features.
    1) Exact screen region selection - Easily set the upper left and lower right bounds for the region you want to project into the Rift
    2) Dynamic image scaling - to let you control how big the image is in realtime
    3) Dynamic left and right symmetrical adjustment of the images - to help get it into the sweet spot


    Performance is looking pretty decent too. The screenshot above running on my 4+ year old computer with Windows 8, is getting 30fps into the OculusOverlay with about 30-40 ms lag from realtime (which is good enough for movies)

    Keep in mind all this is theorhetical since I don't have my dev kit yet, I'm just guessing here. It's also still *very* prototype-y but if there's enough interest from users that have the Rift I could certainly share what I have. It's super small ( < 50k) but It's written in XNA so you'd need to install the XNA redist too, but that is also small. Let me know.
  • AltAlt Posts: 10
    NerveGear
    This looks awesome, nice work. This is an application that I believe will greatly increase the functionality of the Rift in the short term. There is already a ton of 3D video out there, an easy way to view it on the Rift is a great tool. When will we be able to download it and give it a try?
  • BaconBacon Posts: 13 Oculus Staff
    Let's get some files up here, I wanna test this out!
  • holophone3dholophone3d Posts: 37
    Brain Burst
    Hey guys, the first download is now HERE! (attached zip)


    *Note* - this requires the XNA 4.0 redist installed (6.7mb) you can get it from MS here: http://www.microsoft.com/en-us/download/details.aspx?id=20914

    I've been busy adding some cool new features, like faster async capture AND the ability to push both 2D and 3D content into the Rift! That's right you can now push anything from your desktop into your Rift - browse the web, play games... anything should work.

    All I ask is that you check it out and give me feedback, I don't have my Rift yet, so I'm kinda just guessing here. It's also a 'dev tool' meaning there is no UI or anything, just keys to manage app state - all documented in the readme.txt.

    I'm including the readme below for people that want to see the details.

    ---Readme.txt---
    OculusOverlay dev preview 0.7 - http://holophone3d.com/oculus

    Thanks for trying out the OculusOverlay the easy way to instantly view any 2D or 3D content from any application in your OculusRift.
    The OculusOverlay works by capturing the specified desktop region in near real time and warping it into a Rift view.
    For example, on my 4+ year old Corei7 with a GeForce 550 I'm seeing 30+ fps capturing regions of 1280x800.

    Usage:
    NOTE: This app requires the XNA 4.0 redist, get it here: http://www.microsoft.com/en-us/download/details.aspx?id=20914
    All content must be in a Windowed mode to be captured (i.e. full screen games won't be captured)
    You must set screen region and choose viewing mode - see instructions below
    Default Overlay window is 1280 x 800, move it onto Rift monitor view (using extended desktop)
    REMEMBER: The overlay window must have focus to recieve the commands below -if commands aren't working, click back on the overlay window to set focus

    Commands

    Set Capture Region
    Set Top Left Corner = Hold Y and move mouse to top left corner of desired capture region
    Set Bottom Right Corner = Hold H and move mouse to bottom right corner of desired capture region

    Viewing Modes
    SplitMode (default) - used for SideBySide content = A
    DuplicateMode - used for viewing 2D content = Q

    Set Capture sync mode
    Synchronous - slightly slower, more stable = R
    Async (default) - ~20% smoother with lower latency, not as stable = F

    Zoom
    Zoom In = J
    Zoom Out = U

    Horizontal/Paralax adjustment
    Move In = K
    Move Out = I

    FullScreen modes (under development)
    Borderless/Maximized = Z
    Windowed/Restored = X
  • It works perfectly ! you're awesome man ! ^^
  • cyberealitycybereality Posts: 26,156 Oculus Staff
    Wow! It actually works! Nice job.
    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
  • drashdrash Posts: 2,846
    Neo
    Wow, great utility and easy to use! Thanks a ton!
    And yep, if you dont have the required XNA redist, it just does nothing upon running it.
  • edulinaresedulinares Posts: 275
    I don`t have a Rift yet to test. Someone who can test should make a video showing how it works in the Rift.

    I think it would be helpful to everyone, especialy our friend holophone3d. Are you listening Cymatic Bruce? Mike Moffitt? :D
  • http://imgur.com/8MuQ2Vr,Ejnjikq#0
    http://imgur.com/8MuQ2Vr,Ejnjikq#1
    http://imgur.com/Id6NyXL

    more people need to pay attention to this thread.

    As shown above, this can be used for many things people have been begging for.
    *Albeit headtracking will have to be put into the game yourself via control schemes or mods*
    But Amnesia? OpenGL game, current mod drivers wont work with it, and i know TONS of people are wanting to try it out..
    WoW? Anti hack software that would ban for using mod drivers..

    Solution? This AMAZING little program right here!
  • holophone3dholophone3d Posts: 37
    Brain Burst
    Hey guys, I have some more cool updates I'll post this weekend :D . I'd be curious if people could provide some details on how the well parallax shifting works as well as how the zooming works. Any other feedback on things that would be useful and/or awesome... I don't have a rift yet so I'm still kinda guessing. Many thanks in advance!
  • edziebaedzieba Posts: 109
    Hiro Protagonist
    No head-tracking, but Minecraft on the Rift!
    2VhKcFwl.jpg
    Unfortunately, minecraft uses HOR+, so you can't turn the FoV up sufficiently by default (maxes out at 110°, but calculated for a normal aspect ratio).

    One identifiable bug found so far: if you accidentally try and use h for the top-left position and y for the bottom-right, the program will crash.
  • fschulzefschulze Posts: 17
    For me it only works for a short time. I tried to setup the region, which worked, and when I move it to the other screen the app is not responding anymore. This also sometimes happens when I just move the window around.
  • edulinaresedulinares Posts: 275
    Hey holophone3d, how is work coming along in this? I`m extremely interested as it effectively turns the OR into an useful HMD besides the whole VR properties.
  • vrexperiencevrexperience Posts: 63
    Hiro Protagonist
    Hi

    Great utility and if you use it with Unity3d then you get a VR preview :-)

    Just capture the game preview area and voila instant Oculus Rift VR preview, just get the Y and H values accurate.

    Steve
    Steve Jones
    iMica ltd
    http://www.vrexperience.net/
  • brainpannbrainpann Posts: 6
    NerveGear
    This program is excellent and I look forward to updates. I just spent about 15 minutes using it in conjunction with Dolphin playing Metroid Prime. Even though I am unable to use head tracking in MP, using the program to have the game cover my entire FOV was bliss. Keep up the good work.
  • AleksBeerAleksBeer Posts: 81
    Hiro Protagonist
    I have tried running this on Windows 8 and nothing happens at all. Any suggestions? I don't have a Rift yet, would this be stopping it from starting?
  • holophone3dholophone3d Posts: 37
    Brain Burst
    Hey guys thanks for the feedback. I got my Rift today, its so awesome to experience! I've some good perf updates, mouse cursor support and defaults that make it work great out of the box. This works fine on Win8, but you have to have XNA installed. Also, for those out there with Windows8 I have an amazing update that I'm almost ready to release that uses some cool new features in Win8 to deliver 1080p @ 60fps with under 5ms latency, its truly stunning.
  • This is indeed fantastic!!! Thanks for posting it!!
  • holophone3dholophone3d Posts: 37
    Brain Burst
    Hey guys, can I get some help from a windows 7 user out there. My research indicates that turning off dwm(aero) in windows 7 should greatly improve the performance of the overlay. I don't have a win7 machine to validate, can someone let me know if it appears to make a difference. I could also update a version that displays frame rate and screen capture times if it looks like it makes a difference to measure the exact impact. If its a good change, I can do it as part of the app on startup. Thanks in advance.
  • MisguidedMisguided Posts: 8
    NerveGear
    I've got windows 7 x64. I can give that a try if there's some way to measure the gains.
  • Strmtrper6Strmtrper6 Posts: 5
    Mine crashes as soon as I hit "h". I'll play with it more and see if I can find a reason.
  • Strmtrper6Strmtrper6 Posts: 5
    Event Log, if it is any help.

    Application: OculusOverlay.exe
    Framework Version: v4.0.30319
    Description: The process was terminated due to an unhandled exception.
    Exception Info: System.ArgumentException
    Stack:
    at System.Drawing.Bitmap..ctor(Int32, Int32, System.Drawing.Imaging.PixelFormat)
    at System.Drawing.Bitmap..ctor(Int32, Int32)
    at OculusOverlay.FrameBuffer.UpdateFrameSize(Int32, Int32)
    at OculusOverlay.FrameBuffer.CaptureFrameRegion(System.Drawing.Rectangle)
    at OculusOverlay.FrameManager.QueueNextFrame(System.Object)
    at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(System.Object)
    at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
    at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
    at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
    at System.Threading.ThreadPoolWorkQueue.Dispatch()
    at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()


    Faulting application name: OculusOverlay.exe, version: 1.0.0.0, time stamp: 0x516cf235
    Faulting module name: KERNELBASE.dll, version: 6.2.9200.16451, time stamp: 0x50988950
    Exception code: 0xe0434352
    Fault offset: 0x00014b32
    Faulting process id: 0x1a84
    Faulting application start time: 0x01ce46d38adc5f93
    Faulting application path: D:\temp\Rift Demos\oculusoverlay\OculusOverlay.exe
    Faulting module path: C:\Windows\SYSTEM32\KERNELBASE.dll
    Report Id: cf0b17fe-b2c6-11e2-bea3-bc5ff44cc39d
    Faulting package full name:
    Faulting package-relative application ID:
  • dm18dm18 Posts: 25
    Brain Burst
    very cool!
    though the mouse doesn't not show up.
    it would be great if there was a way to just set it and forget it. Like auto mirror all of screen 1 to all of screen 2. No need to position the display window on sceeen 2, because it's auto snapping to fill the whole 2nd display.
  • Hey, this is really quite awesome!
    I'm basically using this to distort a mono wireless camera feed from a gopro for RC FPV.
    Quick question, given the fact that the GoPro imagine already has a large amount of fisheye barrel distortion how hard is it to include an option to reduce or turn off the barrel distortion whilst retaining the offset?
  • fivestarsimulationsfivestarsimulations Posts: 22
    Brain Burst
    Has anyone tested this with iRacing??
Sign In or Register to comment.