OS/2 eZine - http://www.os2ezine.com
Spacer
November 16, 2002
 
Isaac Leung got a degree in Engineering Physics and then Electrical Engineering after which he promptly got a job as a product engineer at a company which makes high speed datacom chips. He is old enough to have cut his computer teeth on Commodore 64's and first played with OS/2 1.3 EE while at a summer job with IBM. The first PC he ever owned came with Windows 95, but he soon slapped on OS/2 Warp 3 and has been Warping ever since. In his spare time, he plots to take over the world.

If you have a comment about the content of this article, please feel free to vent in the OS/2 eZine discussion forums.

There is also a Printer Friendly version of this page.



Spacer
Previous Article
Home
Next Article


Do you have an OS/2 product or service you'd like to advertise?


Art of Illusion 1.2

It used to be that OS/2 had basically 2 choices when it came to 3D rendering applications. There was POV, which was basically a scene description language. There were at least a few GUI front ends for it. And it was free. Then, there was NeoN 3D, which was a commerical product, but had quite a few more capabilities like animation, and better ease of use. However NeoN Grafix seems to be defunct now, and the latest revision of POV for OS/2 dates back to 2000! A sad state of affairs indeed for OS/2 and 3D.

Just when things seem darkest...along comes Art of Illusion. GUI interface, 3D modelling, animation, chock full of features. And it's free. Yeah, you heard me. Free as in beer ($0) and free as in speech (open-source).


What's the catch?

Honestly, there is none. Well, okay, Art of Illusion is a Java application. No, wait! Don't run away yet! Java got a bad name for bad performance in the early days (and perhaps rightfully so), but much of that was due to bad programming rather than Java itself. These days, there are plenty of Java applications which are well done and don't pay any noticeable performance penalty (except possibly on startup). Honestly, I am running Art of Illusion here on a PII-300MHz laptop. A 3-D rendering and animation program, written in Java, running on an old laptop. Keep that in mind!

Years ago, I ran Alias and Wavefront on some really expensive SGI and IBM RS/6000 workstations. AOI on my laptop seems to perform at least as well, so that's sort of my benchmark. I suspect most of you have something faster than a PII-300MHz, so it won't even be a concern for you.

Alright, so the best way to convince you is to simply download and try it. What you need:

  • Download a copy of Art of Illusion (AOI)
  • Java Virtual Machine. It should work with Java 1.1.8 (free from IBM), but I am using Java 1.3.1
  • Java Media Framework. Free download from Sun, and entirely optional for AOI. It ran fine without JMF installed, but I have installed JMF now, also without problems.

And that's it. Just un-ZIP AOI into whichever directory you choose. Running AOI requires no special tricks that I'm aware of. If you're using Java 1.3, here's the startup script I'm using:

REM Runs Art of Illusion
SET JAVA_HOME=C:\Java131\jre
SET HOME=E:\Programs\ArtOfIllusion
C:\Java131\jre\bin\java -jar -Xmx128m ArtOfIllusion.jar

I think the -Xmx128m switch just sets the available memory size to 128MB for this application. I don't think this is required to run it. And that's it. It takes a little while to start up (with a laptop hard drive, what do you expect), but there were no problems whatsoever. It's a little bit longer than it needs to be because I have not set Java 1.3.1 to be my default JVM. If you have it as the default, you really only need the "java -jar ArtOfIllusion.jar" command.

If you are using Java 1.1.8, you can use this little script to start it up:

set AOI_HOME=E:\Programs\ArtOfIllusion
java -classpath %CLASSPATH%;%AOI_HOME%\ArtOfIllusion.jar artofillusion.ModellingApp

This is assuming that Java 1.1.8 is your default JVM. It works nicely, and starts up even faster than when using the Java 1.3.1 JVM. In fact, on my machine, loading this up is faster than either Netscape or Mozilla starting up! (Yes, even counting loading the JVM.)

Interface

If you've ever used a 3D modelling program, it should be fairly familiar to you. Standard 3 "flat" viewports (top, right, front) plus the 3D representation.

AOI
[Click to view full size.]

The toolbar on your left presents you with various drawing tools and utilities. There are 3 shape primitives available, cube, cylinder and sphere. This actually isn't as limiting as it sounds (pretty normal based on what I'm used to), because you use the basic shapes, and via joining, rotation, extrusion, etc., you can create very complicated objects. You also have polygon or 3D mesh surfaces to work with.

You can see the bottom of the interface shows the score display for animation. It is off by default (to save screen space), but I've just turned it on here so you can see the extent of AOI's capabilities.

Plugins

Some of AOI's capabilities are in the Plugins. This is a very common way to allow 3rd parties to extend the capabilities of the application. "Everybody does it." There aren't too many right now, but because it's an open-source project, everybody is free to contribute whatever they feel is useful. If you're a programmer with a bit of free time on your hands, AOI's website has some suggestions for plugins.

Working with Art of Illusion

You can work in any of the 4 views, but I would suggest that trying to manipulate the 3-D scene view using a 2-D mouse is difficult. Usually I just work in the other 3 views and use the 3-D window to view the results.

Using the right mouse button will move, not the object, but your view port. This is not the same as your camera (the one you'll render the final scene with), and it does not move your object. With one object in the scene, you might easily confuse the actions. If you want to move or rotate something, you first have to select the move or rotate tool (the top two icons with the green balls) and use the left mouse button to move the selected object. While this may seem an annoyance if you're not used to it, I think it is fairly normal for this type of application, and you'll find yourself regularly panning your view port rather than moving objects.

In the screenshot above, I've set the preview to be "shaded". You can also change it to "smooth" (more CPU) or "wireframe" to decrease the CPU load. Smooth mode certainly looks better, but you may find that initial work is much easier to visualize with the wireframe mode.

Using AOI is easy. There are tons of features, and I highly recommend you read the included manual (HTML) sometime, as it is very thorough and well written. I've taken quite a large screenshot of the manual. It's better for AOI to explain its breadth of features than me!

AOI Manual
[Click to view full size.]

Reading the manual may not be the best way to get started though. You'd probably fall asleep before Chapter 1! Fortunately, There are a bunch of on-line tutorials covering everything from simple items like 3D hourglasses to modelling and animating a human hand.

My first 3D object

Well, like I've ever been one to take my own advice? Just to see what it can do, I took it for a spin before I read the manual. (I think this is the ultimate test of an application's ease of use). As it turned out, just making shapes, moving and re-arranging them wasn't difficult at all. It only took me a few minutes to piece together this creation, re-arrange the lights, camera, etc. I then I hit render. Yuck! Everything was a dull, flat grey!

After trying to figure it out (and failing), I finally gave up and hit the on-line tutorials, which are great, because a few minutes later, I realized my error (not AOI's.) I hadn't specified any texture or material for any of the objects. Duh! Of course they look bland.

Even for simple colour (it is a property of the material), you have to whip open the texture or material window. It is possible to import pre-made textures, but it's also just as easy to create your own.

AOI Create Texture

Everything is drag, drop, connect the lines, so not too hard to figure out how to use. There is even a preview window of a ball, so you can modify attributes on the fly.

Okay, with that out of the way, I try to render again. Hopefully with more interesting results this time around!

AOI Render

Look at all those options! Yup, you can select one of many cameras (if you have created more than one camera), and render just one scene or even an entire movie. Notice I checked just about every available option, just to see how long it would take.

My 1st 3D Object

Aaah! Isn't that impressive! My very first....uhhh....piece of virtual junk! 14 seconds isn't too bad with 2 light sources, all sorts of fog and translucency (I put that into some of the textures too) effects. If you want, you can save the results in either TIFF or JPEG format. While I'm at it, I should point out that AOI can export the scenes as VRML or Wavefront files (one of the more popular, high power 3D applications). It can also import Wavefront files, but I didn't have any to test its quality.

Summary

Well, I went away from this feeling very impressed, so Art of Illusion garners a permanent spot on my very limited hard drive. To be honest, that isn't a very difficult decision, considering it fits on a floppy! Surprised? So am I. I'm not counting the manual here, which is quite large. The Java file itself and all plugins actually comes in under 1.4MB. Amazing.

Its lack of heft is no impedent to quality and features. It seems to have all you need to do some very sophisticated 3-D models and animation. (You can see a gallery of some pretty amazing work on the AOI website.) All this is even wrapped around an interface which is simple to use.

It's free and open source, so very unlikely to disappear anytime soon. Those of you having even a mild interest in dabbling in 3D will find this an easy (and cheap!) way to get your feet wet. And is there a better way to justify that new dual Athlon 2200 you've been drooling over?

If you like Art of Illusion, I think you should drop the author a note, letting him you appreciate the work and that you're using OS/2! Of course, you can always help out too. Even if you're not a programmer, there is always a need for sample files and tutorials about how you did a particular task in Art of Illusion.


Art of Illusion Home Page
POV files on hobbes
Java Media Framework

Previous Article
Home
Next Article

Copyright (C) 2002. All Rights Reserved.