******************************************************************************* StereoScopic - Version 2.4a - By: Timothy Eckel Copyright ©1993-1994 ******************************************************************************* Table of Contents ----------------- INTRODUCTION Introduction......................................................... 1 What You Need........................................................ 1 Included in this Package............................................. 2 INSTALLATION Installation......................................................... 3 I Don't have a Hard Drive!........................................... 3 Printing Manual...................................................... 3 Testing the System................................................... 3 HOW STEREOGRAMS WORK How Stereograms Work................................................. 4 How to Generate Stereograms.......................................... 5 CREATING IMAGES Creating StereoScopic Backgrounds.................................... 6 Creating 3D Source Images............................................ 8 USING STEREOSCOPIC Using the Interface.................................................. 11 Encoding Techniques.................................................. 11 Running from CLI..................................................... 12 IN CLOSING................................................................ 13 Page 1 ******************************************************************************* Introduction ******************************************************************************* StereoScopic is a simple package that allows you to create 3D Stereograms. What is a Stereogram? A Stereogram is a two dimensional image that has been encoded with a three dimensional picture. Another term for this type of image is SIRDS. SIRDS, however, uses only random dots for their background. The StereoScopic program allows you to use any type of background, including random dots. The technique your mind uses to decode the "hidden" Stereogram is called Wall-Eyed. This is when you focus beyond the surface to see the 3D image. There are other types of Stereogram viewing techniques, including Cross-Eyed and Focus to Infinity. StereoScopic only uses the more common method of Wall- Eyed viewing. ******************************************************************************* What You Need ******************************************************************************* To run StereoScopic, you need the following: * Deluxe Paint or another type of painting program Recommended: * Art Department Professional * Imagine, Lightwave, or another 3D rendering package * PIXmate * Hard Drive * 2.04 or higher Page 2 ******************************************************************************* Included in this Package ******************************************************************************* Included on the StereoScopic disk are the following files: * StereoScopic StereoScopic front-end and engine * StereoScopic.doc This document * hisoftbasic.library Needed for StereoScopic to run * arp.library For the file requestor * StereoScopic-80-B&W StereoScopic background (Good for printing) * StereoScopic-80-Color StereoScopic background (Color range) * StereoScopic-80-Color2 StereoScopic background (Browns & greens) * StereoScopic-80-Color3 StereoScopic background (Black/purple/blue) * StereoScopic-80-Random StereoScopic background (SIRDS) * StereoScopic-80-Random2 StereoScopic background (SIRDS) * 3D 3D Source Image * Eagle 3D Source Image * Face 3D Source Image * Horse 3D Source Image * Landscape 3D Source Image * Penguins 3D Source Image * Plane 3D Source Image * Ship 3D Source Image * StarTrek 3D Source Image * StarWars 3D Source Image * Trumpet 3D Source Image * Horse.SS Sample Stereogram * Plane.SS Sample Stereogram Page 3 ******************************************************************************* Installation ******************************************************************************* Installation should be a very simple process. 1) Boot your computer the way you normally would 2) Insert the StereoScopic_Install disk 3) Open the StereoScopic_Install disk icon 4) Double-Click on the Install-SS icon 5) Follow the installer instructions ******************************************************************************* I Don't have a Hard Drive! ******************************************************************************* You can run StereoScopic from floppies, but obviously, the system will be limited. Just boot from the StereoScopic_Install disk and run directly from it. It's that simple. Note that the sample images are compressed, and you will need to decompress them if you wish to use them. ******************************************************************************* Printing the Manual ******************************************************************************* This manual can be printed using any printer. From the CLI, type in the following command: "Copy StereoScopic.doc prt:". Or, you can print it from any tools program that allows printing, like Directory Opus. In either case, the manual will print out with line numbers to your printer. ******************************************************************************* Testing the System ******************************************************************************* To make sure that everything is installed correctly, try double-clicking on the StereoScopic icon. Page 4 ******************************************************************************* How Stereograms Work ******************************************************************************* Look at the Horse.SS image. Don't look at it Wall-Eyed, just look at the monitor surface. If you notice, there is a repeating pattern horizontally. Look at the top of the image, you will see a pattern of large purple blobs. What happens, is when you focus beyond the screen (Wall-Eyed), your left eye is looking at one blob, and the right eye is looking at the blob on the right. Your mind takes those two different images and creates a 3D image. Look at the following samples: Normal viewing of image (You see one, 2D image) ---------------*----------------- <-- Image Surface / \ / \ <-- Lines of Sight from each Eye / \ / \ (*) (*) <-- Your Eyes Wall-Eyed viewing of image (You see a 3D image) * <-- Perceived Image Depth / \ -------------*---*--------------- <-- Image Surface / \ / \ <-- Lines of Sight from each Eye / \ (*) (*) <-- Your Eyes Because your left eye sees one "*" and the right eye sees the other "*", the two combine in your mind and you think that you are looking at an "*" that is deeper than the surface of the image. By adjusting the distance between the repeating pattern, your mind interprets it as varying depths. So: --------------**---------------- <-- Image Surface -------------*--*--------------- <-- Image Surface (Looks Deeper) ------------*----*-------------- <-- Image Surface (Looks Deeper Yet) Page 5 ******************************************************************************* How to Generate Stereograms ******************************************************************************* First, start off with a repeating pattern for your background, this defines the maximum depth of your image: 1 ASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKL 2 ASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKL 3 ASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKL 4 ASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKL 5 ASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKL 6 ASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKL 7 ASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKL 8 ASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKL You should be able to look at the previous block of characters Wall-Eyed and see that it looks deeper than the surface. Notice that the edges are blurry. All Stereograms are blurry on the edges, this is because when you get way to one side, only one eye can see the pattern, and you loose the 3D effect. In the previous block, notice that the repeat pattern is "ASDFGHJKL" or 9 characters. By removing all the "H" from rows 2-7 in repeat columns 2-7, then filling in the same repeat on the right, you get the following: | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 1 ASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKL 2 ASDFGHJKLASDFGJKLASDFGJKLASDFGJKLASDFGJKLASDFGJKLASDFGJKLASDFGHJKLASDFGH 3 ASDFGHJKLASDFGJKLASDFGJKLASDFGJKLASDFGJKLASDFGJKLASDFGJKLASDFGHJKLASDFGH 4 ASDFGHJKLASDFGJKLASDFGJKLASDFGJKLASDFGJKLASDFGJKLASDFGJKLASDFGHJKLASDFGH 5 ASDFGHJKLASDFGJKLASDFGJKLASDFGJKLASDFGJKLASDFGJKLASDFGJKLASDFGHJKLASDFGH 6 ASDFGHJKLASDFGJKLASDFGJKLASDFGJKLASDFGJKLASDFGJKLASDFGJKLASDFGHJKLASDFGH 7 ASDFGHJKLASDFGJKLASDFGJKLASDFGJKLASDFGJKLASDFGJKLASDFGJKLASDFGHJKLASDFGH 8 ASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKL Notice how it stands out in the middle? Now I'll add another level to the image. Notice that when the image moves back down, the repeat pattern gets messed up and other characters are introduced: | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 1 ASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKL 2 ASDFGHJKLASDFGJKLASDFGJKLASDFGJKLASDFGJKLASDFGJKLASDFGJKLASDFGHJKLASDFGH 3 ASDFGHJKLASDFGJKLASDFJKLASDFJKLASDFJKLASDFJKLASDFJKLASDFXJKLASYDFXJKLASY 4 ASDFGHJKLASDFGJKLASDFJKLASDFJKLASDFJKLASDFJKLASDFJKLASDFXJKLASYDFXJKLASY 5 ASDFGHJKLASDFGJKLASDFJKLASDFJKLASDFJKLASDFJKLASDFJKLASDFXJKLASYDFXJKLASY 6 ASDFGHJKLASDFGJKLASDFJKLASDFJKLASDFJKLASDFJKLASDFJKLASDFXJKLASYDFXJKLASY 7 ASDFGHJKLASDFGJKLASDFGJKLASDFGJKLASDFGJKLASDFGJKLASDFGJKLASDFGHJKLASDFGH 8 ASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKLASDFGHJKL Notice that the last repeat pattern on rows 3-6, column 8 are now "DFXJKLASY", not "ASDFGHJKL". This is the same reason that graphic Stereograms sometimes seem smeared to one side or the other. Page 6 ******************************************************************************* Creating Images ******************************************************************************* StereoScopic requires the StereoScopic background image to be 640x400 with 16 colors. The 3D source image can be 320x400x16 or 320x400x32 or 640x400x16. The higher the resolution, the more detail in the image. The more colors, the deeper the stereogram. I like using 640x400x16 most of the time, and 320x400x32 when I require more depth. ******************************************************************************* Creating StereoScopic Backgrounds ******************************************************************************* Creating a StereoScopic background is just like the "ASDFGHJKL" in the "How to Generate Stereograms" section. But, instead of using characters, you are using shapes and colors in DeluxePaint. All StereoScopic backgrounds MUST be 640x400x16 resolution to insure a viewable image. All of my backgrounds were just created with DPaint. I just start using the airbrush with different colors, then start changing the drawing mode to things like "Cycle", "Smear", or "Smooth". You don't need to paint the entire screen from left to right, only from top to bottom. After you've mixed things up to your liking, you need to grab a repeat pattern. The easiest way I've found to do that is to select the grid function with the right mouse button, change the "X-Spacing" to whatever repeat pattern size you want (I recommend 80). Set the "Y-Spacing" to 20, and select "Adjust". Move the grid so one line is on the top line of the screen and press the left mouse button. Now you need to grab a rectangular repeat column from the top to the bottom of the screen and as wide as the X-Spacing you specified. This is easy because your grid is already set, just grab a box like in the following diagram: +--------+--+----------+ | | | | | | | | | | | | | | | | | | | <-- Grab this box | | | | | | | | | | | | | | | | | | | | +--------+--+----------+ Page 7 Clear the screen. Now, you need to draw the box that you just grabbed all across the screen. Because the grid is still turned on, this is also an easy process. Draw as in the following diagram: +--+--+--+--+--+--+--+-+ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <-- Draw repeat pattern evenly across screen | | | | | | | | | (Even one pixel off in any direction will | | | | | | | | | be noticed! So use the grid function) | | | | | | | | | | | | | | | | | | | | | | | | | | | +--+--+--+--+--+--+--+-+ At this time you should be able to view your background Wall-Eyed and it should appear deeper than the surface of your monitor. Note that if you have a large monitor (20" or larger), it may be better to use a smaller repeat than 80. This is because 80 pixels is wider on a 20" monitor then it is on a 13" one. You can even draw small pictures for your StereoScopic background image. But, if the 3D source image is very complex, or has a lot of dithering, the process to create the stereogram will tear, stretch, and distort your pictures just like how the "ASDFGHJKL" turned into a "DFXJKLASY" in the "How to Generate Stereograms" section. Making StereoScopic backgrounds takes a lot of practice. I've included several for that very reason. Also, once you create a good background, you can make endless ones by simply changing the palette. I like just picking random colors or colors that fit the image. For example, the Horse image looks best with the StereoScopic-80-Color2 background because it has browns and greens in it. Also, it is a good idea to put the repeat pattern amount in the file name, note the -80-, so when you use it latter, you know the repeat to use. Page 8 ******************************************************************************* Creating 3D Source Images ******************************************************************************* This is the "Nuts and Bolts" section. There are really two ways to create a 3D source image. First, you can use DPaint to just draw one. This is very simple and allows you to create stereograms right away. Secondly, you can use a 3D rendering program like Lightwave, Imagine, Real3D, etc. This requires you to be knowledgeable enough to create images in that package, but does allow you to take your stereograms to the next level. First, I'll be talking about how to create a 3D source image from DPaint. Like mentioned under "Creating Images", source images can be 320x400x16, 320x400x32, or 640x400x16. The 32 color source image will appear twice as deep as the 16 color one. The difference between 320 and 640 pixels wide makes little difference, but does slightly reduce 3D resolution. Open a 320x400x32 color screen in DPaint and bring up the palette requester. Notice the 32 colors, the first color is color 0 and the last color is color 31. Color 0 will appear to be the background, while color 31 will be the closest to the viewer. It makes no difference what actual color they are, only their position. So, lets create a test image. Pick color 15 and draw a filled box in the middle of the screen like in the following diagram: +----------------------+ | | | +----------+ | | | | | | | | | | | | <-- Draw this box (Color 15) | | | | | | | | | | | | | +----------+ | | | +----------------------+ Always try to keep the focus of your image away from the very edges of the screen. For example, if the repeat pattern amount was 80, you should keep your main drawing 80 pixels from the left and right side of the screen. You can draw in this area, but just remember that you will not be able to focus on anything in it. Now lets add another box. Pick color 0 and draw another filled box like in the following diagram: +----------------------+ | | | +----------+ | | | | | | | +------+ | | | | | |<-- Draw this box (Color 0) | | | | | | | | +------+ | | | | | | | +----------+ | | | +----------------------+ Page 9 The image should look like a rectangle with a hole cut out of the center. When you render this image you will see a rectangle with a hold cut out of the center hovering out from the background. Another simple image is in the following diagram: +----------------------+ | _ <-- This area color 0 | /\ / \ | | /\ / \ \_/<-- This area color 2 | / \/ /\ \ /\ | |/ /\ / \ \ / \| | / \/ /\ \ \/\ / /\<-- This area color 1 |/ /\ / \ \ \/ / \| | / \/ /\ \ \/\ / /\<-- This area color 2 |/ /\ / \ \ \/ / \| This area color 4 --> \/ /\ \ \/\ / /\<-- This area color 3 +----------------------+ This creates a nice mountains and sun background. You can then draw a logo or just type text in the foreground by using higher colors like 15 and up. Like in the following diagram: +----------------------+ | _ | | /\ / \ | | /\ / \ \_/ | | / \STEREOSCOPIC /\ | <-- These letters color 15 |/ /\ / \ \ / \| | / \/ /\ \ \/\ / /\ | |/ /\ / \3D \/ / \| <-- These letters color 31 | / \/ /\ \ \/\ / /\ | |/ /\ / \ \ \/ / \| | / \/ /\ \ \/\ / /\ | +----------------------+ This 3D source image will look like text floating out in front of a mountain background. Try making each letter in STEREOSCOPIC a different color. For example: S=10, T=11, E=12, R=13, E=14, O&S=15, C=14, O=13, P=12, I=11, C=10 so it looks like the words come out at you in the center. Try a company logo, try larger text. Note that when you use text is is best to use a random dot StereoScopic background and select "Random Color" as the encoding technique. Otherwise, the image starts to smear too much and you cannot read the text. The next way of creating a 3D source image is to do it in a 3D package. Since I know Imagine, I will be explaining it in Imagine terminology, but other 3D packages should work about the same. First, load in a 3D object. Then change the objects attributes to be a solid color (white is good) with no reflection, Filter, or Specular Highlighting. Also, make the object bright so that there is no shading. If you would render the object at this point (no lights are needed) you would see a white blob that was in the shape of the outline of the object. Page 10 Now that you have identified the shape, you now need to identify the distance from the background. You do this by applying the Linear Texture to your object. The following diagram shows how you apply the Linear Texture: +--------------------+ |-------Z---------+ | | | __ |<-- This box is the Linear Texture axis | | | | | | (Notice that the Z axis covers the T| |\ | | | || | entire plane from wingtip to wingtip) O| | +--|-+ +--\|| | P| | +--|-+ +--/|| | |y |/ | | | || | || | |__| | | |+-x ---*---------Y | +--------------------+--------------------+ | | | | | | F| __ | __ |R R| |\ / \ | | \__| |I O| |_+---+____+-\| | _____/\ \_____ |G N| |____________/| | \_\/ |H T|z | |z \ |T || || | |+-x |+-y | +--------------------+--------------------+ You need to rotate the Texture axis until the Z axis points to the back of your object. Then scale and move it until it covers your object in the Z direction like in the diagram above. Then go to Transform Axis and look at the size of the Z axis. Key in Z axis value in the "Transition Z Width" requester. Leaving the color as Red=255, Green=0, Blue=0 is fine. Now render the image at one of the above mentioned resolutions. If you have The Art Department, you can render it as ILBM-24bit. Note that you do not need any lights. Now, you should have an image that looks kind of like one of the sample images. However, there is one problem, the colors are probably not in the correct order. Black should be color 0, and 1-15 should be a range from red to white. If you have The Art Department, just select the palette requester, pick the colors as I mentioned, "Lock" the palette, and Execute. This will put the colors in the correct order. If you have PIXmate, you can just "Swap" the colors until they are in the correct order. Remember, it's not the color, but the color number that decides the distance! Page 11 ******************************************************************************* Using the Interface ******************************************************************************* The interface is really pretty simple, and you should have no problem if you are familiar with other Amiga interfaces. You select the three file names by selecting the ">>" gadget. By selecting this gadget, an ARP file requestor will pop up. To select the Repeat value, click in the box and type in a new number. Selecting the Encoding Technique is as simple as clicking on the desired gadget. The Save Settings As Default option will save the current options in the file "S:StereoScopic.cfg". When you have completed the information in the window, click on the "EXECUTE" gadget. It will then ask you if you are sure that you want to execute this process. If you select "YES" it will then ask you if you wish to print after saving. It will print using the Amiga printer driver and paramaters selected in preferences. Next, the program will load the images, process, then exit StereoScopic when complete. ******************************************************************************* Encoding Techniques ******************************************************************************* There are six different encoding techinques available in StereoScopic. Why do you need an encoding technique? Well, in order for StereoScopic to create a stereogram, it sometimes needs to "Fill-In" some data. What it should fill-in depends on what type of background image it is. I will try to explain the best uses for each, but trying a few out for a single image is still a good idea. Random Color Best used for true random dot StereoScopic Backgrounds (SIRDS). If used with a random color background, you will not see smearing with this technique Random Nearby Color Best used for backgrounds that look like "StereoScopic-80-Color". It will pick a random color from the current line, so it will not introduce other colors in each line. Last Block System defaults to this technique. It takes the last block and flips it. It has to flip it or you would see ghosting. This is a good general purpose technique. You will see smearing with this technique. Page 12 Random Nearby Block This is very similar to the Last Block technique, except it selects a random point. If Last Block seems to mechanical, this technique seems to work very well also. You will see smearing with this technique. Dithered Block This technique doesn't allow a quick transision from close to far away pixels. This makes it a good general purpose technique like Last Block. However, this technique has even more smearing. Random Original Block This technique was developed to get rid of the smearing in Last Block and Random Nearby Block. It doesn't do exactly that, but does give you a result that is close to Random Nearby Block. ******************************************************************************* Running from CLI ******************************************************************************* This section talks about some advanced options that you can do to run StereoScopic in different ways. You can run StereoScopic from the CLI by passing command line arguments. The format is as follows: StereoScopic [/Rxx] [/Ex] [/P] [/?]    /Rxx - Repeat Size         (Default of 80)    /Ex  - Encoding Technique  (Default of 3 [Last Block])    /P   - Print image         (After rendering / Default=NO)    /?   - Help                (This screen) Examples: StereoScopic StereoScopic-80-Color Eagle Eagle.SS /R80 /E3 /P StereoScopic StereoScopic-80-Color3 Plane Plane.SS (Assumes Repeat of 80, Technique of 3, and no print) Where the Encoding Technique is as follows: 1 = Random Color 2 = Random Nearby Color 3 = Last Block 4 = Random Nearby Block 5 = Dithered Block 6 = Random Original Block Page 13 ******************************************************************************* In Closing ******************************************************************************* In closing, I would like to say that I hope you enjoy using this program as much as I do, and did while creating it. If you have any problems or questions, don't hesitate to contact me at one of the following places: Timothy Eckel 1243 Grassy Court Rossford, OH 43460 (419) 666-1701 Genie: T.ECKEL2 Compuserve: 74030,3340 Internet: TECKEL@internet.kronos.com