Java create anaglyph (red/blue image)

2019-04-28 17:41发布

问题:

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?

回答1:

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.