cancel
Showing results for 
Search instead for 
Did you mean: 

Open Source

thelandofthedav
Honored Guest
I realize Blender (gpl) is not compatible with the license in the Oculus SDK. I also realize i can model something in blender and import that into UDK or Unity. But is there an open source package that can do what unity or UDK do in terms of being able to create games or worlds that can be used with the rift? Im not opposed to UDK or Unity btw but i am curious.
I have some blender models i plan to export over to UDK to work with. One is a half pip and a guy on a skateboard. I will not have the time to put into doing much more than making a playable demo that has no real features. But would love to release what little bit i do into a creative commons type license that would allow others to take what i start and use it for something of their own.
5 REPLIES 5

geekmaster
Protege
"thelandofthedave" wrote:
I realize Blender (gpl) is not compatible with the license in the Oculus SDK.

You can legally mix GPL with any other license or proprietary code base as long as they run as separate processes and only communicate via STDIO (piped input and output streams). The non-GPL can load a GPL program as a child process and intercept its input and output, leaving the GPL program running invisibly in the background, controlled by and providing results to the proprietary parent program.

LGPL is even more flexible in how it can communicate with the parent program, but by some legal definitions you may need to load the DLL dynamically rather than linking to a .lib file to load it when the parent program starts.

Also, for legal reasons, the GPL components may need to be downloaded and installed by the end user, however some non-GPL programs provide download and install links for the end user to simplify and automate that procedure.

So technically (and legally), Blender and other GPL apps can be mixed with proprietary code (including code that includes Oculus SDK library code) if used as described above. It can get complicated unless you modify the GPL code to allow unbuffered I/O, though, but some programs have command-line switches or STDIO-redirect detection to turn off buffered I/O.

cybereality
Grand Champion
OGRE is open-source and has unofficial Rift integration.

However, it is only a rendering engine. It doesn't have sound/physics/etc.

thelandofthedav
Honored Guest
Wow. Thanks. Both of you.
I have a month and a half to dedicate to personal projects. Might have to learn a bit about Ogre in that period.

Harley
Honored Guest
There are also some unofficial third-party SDK's and libraries available for Oculus Rift now and more are sure to come.

You will need to start by adding a GLSL shader to Blender rendering for Oculus Rift barrel distortion lens correction warping.

Checkout this thread with and discussion on their development forum about a few basic open source libraries in C which includes the necessary GL shaders for OpenGL

viewtopic.php?f=20&t=667&p=6403

OpenHMD, libovr_nsb, and libvr and three cross-platform and all have partially or fully open source libraries in pure C with GLSL shaders that are discussed there that should all work for that

https://github.com/OpenHMD/OpenHMD
https://github.com/ultranbrown/libovr_nsb
http://hg.sitedethib.com/libvr/

danieru
Honored Guest
Thank you Harley that is fantastic to see! I was quite worried when I saw the oculus sdk was propreitary since the projects I am dreaming of are all porting open source things to the oculus.

From what I can find libvr is the most serious about the licensing issues: http://hg.sitedethib.com/libvr/file/369ec24a3c4d/README They make an explicit not derivative claim and have shown to have an idea at how to avoid derivative status.

I am a bit less confident about OpenHMD as they do not make any explicit claims to whiterooming and their list of supported devices only contains "Oculus Rift (SDK)" which makes it sounds like it depends on the SDK.

Meanwhile libovr_nsb is under the same propreitary SDK license.