JPS Files
or How to Prevent DepthCharge from Blowing Up

Q) What are stereo pictures?

A) Most likely you've seen stereo pictures somewhere at some time. They are two pictures taken of the same scene from two slightly different angles. View the pictures so that each eye sees a different picture and voila: apparent three dimensionality.

Q) What's a JPS file?

A) I downloaded the free 3D driver from Nvidea. This driver allows you to play hundreds of 3D games in stereo. Packaged with the driver is a viewer for JPS files. If I'd heard of JPS files before, I hadn't really figured out what they were, so I went searching for information on the Internet. Here's what I found:

A JPS file is really just a JPG file with a different extension. It contains two identically sized pictures arranged side by side. If you view this picture in a JPG viewer, you'll see the right eye view on the left and the left eye view on the right. This is commonly referred to as "cross-eyed view". That's because to "free view" the stereo picture you need to cross your eyes.

Q) Where can I find JPS files?

A) Go fish! Of course I mean on the Internet. There are actually a lot of JPS pictures posted on the web. There are also newsgroups such as alt.binaries.pictures.stereo which have pictures. Here are links to a few JPS files I've made (beware, they are pretty big):
ZeusClay BagPepsi Bottle

Q) How do I make JPS files?

A) If you already have stereo pair pictures, you're almost there. If you don't, there are several good tutorials out on the Internet on how to produce them photographically or in a program that you can use to render 3D drawings.

Once you have your stereo pair, you need to combine the two images into a single JPG file. It's best if you keep the files in some lossless format like TIFF, PNG or BMP while you are working on them and convert them to JPG at the very end.

Open your bitmap editor, almost any will do. Create a new drawing that is as tall as your pictures and twice as wide. Import the right eye image and paste it on the left side. Paste your left eye image on the right side. Save the resultant image. Rename it with a JPS extension and you have it. Open your file up in a JPS viewer and admire your handiwork.

Q) What's DepthCharge?

A) DepthCharge is a free plug-in for Netscape and Internet Explorer. It allows you to view JPS files in web pages. I find it does a great job and it allows you to display pictures in a large number of different formats.

Q) What's wrong with DepthCharge

A) The only problem is that VRex, the nice folks who made DepthCharge, also make a program called DepthCharge Developer Studio. In the past DepthCharge worked on all JPS files but now only works with those created by DepthCharge Developer Studio (I make this assumption based on pages I find that say they work with DepthCharge, but that don't work with the version of DepthCharge that I have.) I suppose that boosts sales. Maybe. However, I already have a number of graphics editors and don't feel like dropping $79 for another one that I doubt has any features I can't get by without.

Q) Why don't my JPS files work with DepthCharge?

A) I decided to see if there were any significant improvements made to the JPG standard file format by the DepthCharge Developer Studio. I downloaded a JPS file from the Internet that actually works with DepthCharge and compared it to one I'd made (that didn't work with DepthCharge). Using a file from wotsit.org as a guide to how a JPG file is formatted inside, I checked out the differences I found and determined that the only difference was an extra little chunk that didn't do anything useful (unless you consider DepthCharge not working with your files useful.)

(I did this many years ago and the link that used to be here from wosit.org was long dead. Here is a link to the Wikipedia article on the file format.)

Q) Is there anyway to make my homemade JPS files work with DepthCharge?

After a few minutes of thought I decided that it would be pretty trivial to patch a JPS file to include the goofy little VRex piece. If you are interested, here's the C source code. I'm sorry, the only platform I compiled it for was the DOS command line. If you are using another operating system, it should be generic enough to work anywhere.

Here is the program I wrote as a PC executable (if you have problems downloading the .exe file, here's a zip file of the same thing.) There are two ways to use it. The simplest is to put it on your desktop and drag and drop files you want "fixed" onto it. It shouldn't hurt other file types but I'm certainly not warranting it, so don't do anything stupid (like drop important files on it.) The second way to use it is from the command line:

jpsjps file1.jps file2.jps

It should be able to handle as many file names as you care to pass to it.

If you don't understand what any of the stuff above means, please find someone more computer literate to help you.

NOTES:

Since I wrote this, I've gotten feedback that the executable crashes under Windows 2000. I don't currently have a Windows 2000 machine so I can't verify or repair it. I've tested it, and it works fine, under Windows 98 and Windows NT 4.0. As soon as I can, I'll get access to a Windows 2000 machine and try to replicate and repair the reported problem. If you have tried jpsjps.exe I'd be very interested in hearing about your experience with it, please write. Thanks, Tim Kemp. (8 July 2001)