Stereoscopic Processing library Camera3D: Anaglyphs, Split Frame (NVidia3D), Oculus Rift, and more!

Inspired by the no-longer working RedBlue anaglyph library, I have created a new library for making all kinds of stereoscopic or 3D effects called Camera3D.

The library is customizable and can do much more than red-cyan bitmask filter anaglyphs. For example, I implemented a real-time algorithm for Dubois Anaglyphs (including Amber-Blue aka ColorCode3D), and I can make split-frame animations for NVidia 3D monitors. There's a barrel distortion algorithm (Oculus rift) and there's an algorithm I'm calling Split Depth Illusion, which nobody has done before. Camera3D is fully customizable so people can also use my framework to make totally new algorithms.

The key insight behind Camera3D is I figured out that the sketch's draw method can be called multiple times. Processing calls the draw method once, but then my library calls it again with different camera settings. This makes my library very easy to use. You can apply a whole library of 3D algorithms to a P3D sketch with just a few extra lines of code.

I put a lot of work into making these algorithms FAST so your framerate can be as fast as possible. I also did much research so the 3D effects can be done correctly. For example, Camera3D by default uses the (correct) off axis stereo pairs using an asymmetric frustum, instead of the more commonly done (incorrect) toe-in stereo pairs, which introduces vertical parallax near the edges of the image.

There's a lot happening here so I wrote a lot of documentation and examples so you can understand how to use it. Go to:

http://ixora.io/projects/camera-3D/

Camera3D should work correctly in Processing 2 and 3. You can install it today using the Processing Add Library feature.

I'll patrol the forums to make myself available to answer questions and help you use this.

Comments

  • Congratulations on a magnificent library! It's much more powerful than I believed it to be at first glance. I originally had a question or two-- but poked around the libraries and discovered how to accomplish what I needed. I still might need to ask something in the near future... but for now, I'm good. Again, very good stuff- top notch. Thank you for your hard work on this. I'll be keeping tabs on any future releases. I love how invested in the art form of 3-dimensional representation you are.

  • edited May 16

    New version of Camera3D is now available!

    Camera3D v1.2 can make 360 Video for Processing:

    360 Videos work with Facebook, Vimeo, YouTube, and more. Why make a sketch in a rectangle when you can make one in a sphere?

    http://ixora.io/projects/camera-3D/monoscopic-360-video/

    In addition, this version drops support for Processing 2.x so I could leverage Java 1.8 for performance improvements.

    Unfortunately the Processing Library Process isn't picking up on my new version. I don't see it here:

    http://download.processing.org/contribs

    Even though my info file reports the new version:

    http://ixora.io/downloads/camera3D/Camera3D.txt

    If you already have it installed, uninstall it first to get the new version.

  • Version 1.2 is now downloade-able through the Processing IDE.

    Download it and go build something amazing!

  • Is it possible to use cardboard box with it...?

  • Running Processing in Android mode with Camera3D? I tried that on my Samsung S6 phone and found it to be very slow.

    Or do you mean creating a 360 video and then viewing it with google cardboard, via YouTube? Yes, that will work. I have viewed my 360 animations on my phone and they look great!!

  • Really amazing work! And the set of example sketches give an excellent tour of the things you can do with this library.

  • thanks!!

Sign In or Register to comment.