Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Java create anaglyph (red/blue image)

I'm writing a Java game engine (http://victoryengine.org) and I've been experimenting with generating "3d" images with depth that you can see with those red/blue glasses. I'm using Java2D for graphics.

I've created something that works, but is very slow (by manually copying pixel values and stuff like that).

What I need to is take two BufferedImages (one for the left eye, one for the right) and combine them into one (either another buffer or directly to screen). For one I just want the red channel, and for the other one the green and blue ones. What's the fastest way to do this?

like image 647
Bart van Heukelom Avatar asked Jun 19 '09 09:06

Bart van Heukelom


1 Answers

Look ath the JAI BandMerge operation:

http://download.java.net/media/jai/javadoc/1.1.3/jai-apidocs/javax/media/jai/operator/BandMergeDescriptor.html

Create your stereoscopic pairs as greyscale images and use band merge to combine them as red and green channels in the final image.

like image 57
AndyT Avatar answered Oct 21 '22 13:10

AndyT