Classic Computer Magazine Archive COMPUTE! ISSUE 153 / JUNE 1993 / PAGE S1

How to choose a 3D graphics program. (includes product listing) (Compute's Getting Started with 3D Graphics)
by Steven Anzovin

If you want to push the outside of the PC graphics envelope, the third dimension is where it's at. With the right 3D software, you can sculpt objects with all the detail and texture that make super-real 3D images so fascinating. You can use 3D to design products or buildings, saving hours or days of real world work. Or if the real world doesn't suit you, create and explore your own imaginary ones.

The promise of 3D is tantalizing, but working with 3D software can be daunting. There's little that's intuitive about creation with 3D programs. You can't just grasp objects and move them around as you do in the real world. Instead you work in a highly abstract environment of Cartesian coordinates, orthographic and perspective projections, points and polygons, light sources and texture maps, views and worlds.

Get Ready for 3D

First, decide why you need 3D. Do you want to create dazzling, super-real graphics for print or video? Are you seeking a program to design detailed 3D models of products or buildings? Do you need to craft 3D worlds for computer games? Is 3D character animation your interest? There are 3D programs that will satisfy each of these needs, but none of them does it all. Make a wish list of all the things you'll want a program to do.

Next, evaluate your hardware. Does your PC have what it takes to run 3D software? 3D design practically defines the term calculation intensive. For the simpler programs such as 3D Plan, you can get by with a 286 machine and 2MB of expanded memory. A math coprocessor is a necessity to do 3D on any 286 or 386 PC. When you start building worlds with Vistapro or Virtual Reality Studio 2.0, or creating realistic animations with 3D Workshop 2.0, you'll need heavier iron--a fast 486 and 8MB of RAM will save you many hours and increase your productivity.

For applications that create beautiful renderings, a 16-bit Super-VGA card (preferably accelerated) and a high-resolution monitor are a must, as is a mouse or other drawing device. And you'll need a lot of hard disk space to store all those 3D pictures. A single high-resolution 3D picture can be several hundred kilobytes in size, and a short 3D animation easily can occupy dozens of megabytes. You also may want access to a color printer to proof images that are going to print, or a video encoder to videotape 3D graphics for TV.

Finally, to get a real idea of what these complex programs can do, test drive before you buy. You'll be struck by the fact that no two of them work alike, or even look alike. There's no standardization of commands, features, or even interfaces among 3D programs, as there is among word processors and spreadsheet programs. Each 3D developer seems to have a different idea of how such programs should work. In part that's because the programming technology behind 3D imaging is developing rapidly along many competing paths.

In addition, none of the 3D applications discussed here run under Microsoft Windows, which imposes a standard set of basic controls and features on every Windows program. And finally, 3D programs are very different from each other because there's such a wide range of things you can do with 3D.

Some programs focus on one specialized task. Vistapro, for example, makes realistic 3D landscapes using fractal geometry. 3D Plan is for home remodeling. General-purpose 3D programs, such as 3D Workshop, offer a wider range of features, but may not be able to accomplish a particular task. Carefully review a program's feature list to make sure it matches your needs--that's where your wish list comes in.

Try to get a feel for the style of interface a program uses. Is it right for you? Some programs require you to learn a programming language to use advanced features, or force you to take multiple steps to perform even minor functions. Some programs display working views that look like engineering drawings; others give you a perspective view that looks as much as possible like the real world. Even if a program seems natural and intuitive, expect to scale a steep learning curve to master it.

You also may need to purchase additional programs to get the most out of your choice. 3D Plan requires at least one of the design programs in Auto--desk's Home Series. Assembling and editing 3D animations created in 3D Workshop 2.0 is best done with Presidio's PC Animate Plus. And to generate 3D landscapes of your home town with Vistapro 3.0, you'll need digital topographic data from the United States Geologic Survey (USGS).

Making Models

For all their variation, most 3D programs do have some basic functions in common. In all the programs, the first thing you must do is build a 3D object. This is done using a 3D construction kit called a modeler. Usually the modeler is a module within the 3D program, although, in the case of 3D Plan, the modeler is actually a separate program (any of the 2D design programs in Autodesk's Home Series),

One modeling method is to take a primitive (a simple object such as a cube or a sphere that's already supplied by the program) and modify that by stretching it, squashing it, or adding and subtracting other primitives to produce the desired shape. This could be thought of as the building blocks approach, and it's the one used in Virtual Reality Studio 2.0.

Another way is to build the object from scratch, point by point, line plane by plane--a Tinkertoys approach that's more flexible and precise, and harder to master, than building with primitives. This is the way you build objects in 3D Workshop 2.0.

3D Plan and Vistapro take another approach. 3D Plan creates images based entirely on a 2D floor plan; there's no modeling in 3D Plan itself. And in Vistapro, all you do is set the initial parameters and let the program make landscapes on its own.

3D objects have some peculiar properties. Their surfaces are made of points (called vertices) and planes (called polygons). Most modelers show objects so that the polygons are clearly visible. In the typical 3D modeler, for example, you can see that the surface of a sphere is made up of small polygons--think of the spinning mirror ball in a discotheque. The more polygons, the smoother the surface. And 3D objects are completely hollow.

The real quality of a program's modeler is in the tools it gives you for 3D construction. You'll want to make sure that a 3D program for general-purpose modeling provides not only flexible point-by-point editing, but also tools to create objects that would be difficult to construct by hand. These include:

* Flexible ways to select parts of an object and change them. You might want to create a cylinder and pull out one end to make a cone, or poke holes in a wedge to make Swiss cheese. Since you'll want to do transformations like this all the time, the process has to be simple and powerful.

* Mirroring, in which you can create multiple copies of an object around a defined axis. With mirroring, you could model a single flower petal, then have the program create copies of the petal in a circle around the flower's center.

* Extrusion, a quick way to build a 3D object by drawing an outline and extruding the outline along a third axis to make a shaped slab. If you've used a pasta-making machine, or watched kids squeeze Play-Doh through their fingers, you know how extrusion works. Extrusion is quite useful in creating 3D fonts; you draw the letters in outline, then extrude them to create the sides.

* Spinning, or drawing an object's profile and then giving it three dimensions by rotating it around a central axis. This process, also called lathing, is like drawing a template for a table leg on a flat piece of paper, then turning a piece of wood on a wood lathe until it has the same profile as the template. To take a simple example, you can create a sphere by spinning a circle around its diameter. Spinning is invaluable for creating objects that are round or oval in cross-section, such as bodies, boats, or spaceships.

Using 3D on 2D

Until holographic computing displays come along, 3D designers must grapple with the fact that they're trying to envision 3D spaces with 2D displays. Actually, that's not much different from what designers and artists have always had to do when trying to depict the real world on flat paper. Not surprisingly, 3D modelers use similar schemes for representing 3D objects on a computer.

Many 3D modeling environments offer four views of a 3D object: front, top, right side, and a world or perspective view. Any readers who've done some mechanical drafting, or who took metal shop in high school, will recognize the typical fourview as a standard orthographic projection, plus a perspective view. The modeling environment in 3D Workshop 2.0 is a fourview.

Virtual Reality Workshop 2.0 and Vistapro 3.0 dispense with the fourview in favor of an interactive world view. All objects and landscapes are modeled in traditional 3-point perspective. Using each program's navigation tools, you can easily move around and see things from various angles. Some 3D designers may feel more comfortable with this approach, since it's a bit more like working in the real world. But there's a cost: Generating interactive world views in perspective requires lots of processing power.

Building Worlds

Consider that your 3D object exists not in some spaceless void but in a 3D space, much like the real space that surrounds us. In 3D lingo, this 3D computer space is called a world. Worlds can possess backgrounds, sky and ground planes, a view, and, of course, other objects. You can move around inside them just as you move in real space.

A 3D world, like the real world, can be seen only if it's viewed--that is, if there's an observer to see it. Think of a 3D world-view as a camera through which you take snapshots of your creation. Some 3D programs put limits on where the views can be located. 3D Plan provides three preset views: an eye-level view and two overhead views. The eye-level view can be moved around anywhere in your model and zoomed in and out, but you can't, for example, see your house from mouse-level. Most other 3D programs allow views from anywhere in the 3D world. Virtual Reality Studio 2.0, which specializes in creating whole worlds and not just objects, offers intuitive controls for flying your viewpoint around 3D worlds, as does Vistapro 3.0.

To get the most out of your 3D world, you'll need tools to manage your world. You'll want to move objects around easily, group and ungroup them with simple commands, make objects appear and disappear, and even detect when two objects are touching. This is where Virtual Reality Studio 2.0 excels. Its flexible programming language provides more control over the making and managing of 3D worlds than any other program running on PCs--if you're willing to master it.

Lighting and Textures

Even the most brilliant diamond is invisible in total darkness. Likewise you won't be able to make a picture of your 3D world if you don't light it. Some entry-level 3D programs, such as 3D Plan, do it all for you; the program sets a constant illumination at the same angle every time. That's fine for 3D visualization of a kitchen or a deck, but if you want more lighting control, go with a general-purpose program such as 3D Workshop 2.0.

Some programs give you lighting capabilities beyond the best-equipped movie studio. You can position the sun, one or more key lights, and any number of fill lights and spot lights anywhere in your 3D world. You'll need to experiment to achieve the effects you're looking for. In fact, you may well spend more time lighting your object than modeling it. Dedicated 3D designers find it helpful to study the basics of lighting for photography and the theater.

3D objects can have a variety of surface characteristics, just like objects in the real world. These include color, transparency (the amount of light that can pass through the object), reflectivity (whether an object is dull, glossy, or mirror-like), luminescence (the amount of light the object emits), and texture.

Textures can be applied in several ways. For example, 3D Workshop 2.0 comes with a library of instant textures--brass, wood, and so on--that can be applied to any object.

Another way to modify the surface of an object is to map (that is, project) a bit-mapped graphic onto its surface. A package designer could, for instance, map the scanned image of a wine label onto a 3D model of a new wine bottle.

The more control you have over the lighting and textures of a 3D object, the more realistic you can make it. 3D Workshop 2.0 can generate quite realistic-looking objects. Extreme realism isn't the goal of every 3D program, however. 3D Plan and Virtual Reality Studio 2.0 offer limited control over object surfaces and textures, but that's because these programs focus on other areas instead.

Time to Render

Once you've modeled your object or your world, chosen all the textures, and fine-tuned the lights, it's time to render--that is, to create a fully detailed 3D picture. Rendering is the most time-consuming part of 3D creation. The calculations required to represent textures, shadings, and variations of color on a complex 3D object can tax even the fastest PC.

Imagine the computing overhead to create a scene with dozens of objects and lights and textures. 3D Plan and Virtual Reality Studio 2.0 minimize render time by sticking to the basics: flat shaded objects without textures or shadows rendered at relatively low resolutions. On the other hand, 3D Workshop 2.0 offers several levels of rendering realism, ranging from wire-frame (a representation of the object as a hollow structure of wires showing shapes but no interiors or shading) to advanced rendering techniques such as Gouraud and Phong (in which the object has accurate shading and texture, but no shadows). Ray-tracing, an intensely realistic method of rendering that precisely renders shadows, reflections, transparencies, and textures, isn't yet supported by any of these programs.

Here's a time-saving tip: Create objects separately before you place them in a world with other objects, then test render them in simple flat shading and at the lowest available screen resolution and number of colors. Quick tests will reveal problems to fix or effects to change and save you long hours of slow, high-realism rendering.

Animation

There's no doubt that the most thrilling--and difficult--part of 3D is animation. All of the programs discussed here, with the exception of 3D Plan, provide some form of animation as part of the package. But they implement animation in different ways.

When choosing a 3D animation program, look for the following features:

* An easy-to-use, VCR-style control panel.

* The ability to compile and replay animated sequences, or to interface with animation controllers.

* Path animation, in which you draw a path on screen and command a 3D object, light source, or viewpoint to follow it.

* Key-frame animation, the ability to put an object in a desired position and orientation at key points in the animation, and have the program figure out all the in-between positions for you.

* Metamorphic animation, which enables T2-style transformations from one object to another

* Hierarchical object linking, where you can link several objects together and limit each object's movement according to a hierarchy of influence. This feature is crucial for realistic 3D character animation. For example, an arm may be made up of a hand object, a forearm object, and an upper-arm object, with the upper-arm motion determining the forearm motion, and the forearm determining the hand motion.

If rendering a single highly realistic 3D picture takes time, imagine how much time it takes to render a minute of 3D animation, with its 1800 animation frames (30 frames per second times 60 seconds). You'll need lots of disk space, too.

Movie and TV production houses dump each rendered frame direct to film or videotape, using expensive interfaces and controllers. Most 3D explorers can't go that route, so you'll want to look for a program that generates animations as quickly as possible and squashes them into a compressed file format that can be replayed on your PC. 3D Workshop 2.0 can compile its animations into a compressed format that's playable and editable through a companion program, PC Animate Plus. Virtual Reality Studio 2.0 compiles its own animations, which can be played back with VCR-style controls on the program's main control panel. Vistapro 3.0 is compatible with AutoDesk's FLC animation file format, but you'll get more thrilling flybys with Vistapro's own companion animation program, Makepath Flight Director.

Working with Other Programs

Ideally, you would combine work done in several 3D programs to capitalize on the strengths of each. Try that in the real world, however, and you'll run smack into the unfortunate fact that current 3D programs only recognize their own object files, texture files, and so on; there are no object file formats shared by the programs discussed here. So forget about making an object in one program with great modeling tools and animating that object in another program with great animation tools.

One thing you can do is save a 3D rendering as a 2D paint file (such as an IFF, PCX, GIF, or BMP file), then load it into another program as a background. 3D Workshop 2.0 lets you save a rendering as a paint file for use in another program, and also allows paint files to be used as backgrounds for renderings within the program. Virtual Reality Studio 2.0 worlds can be enclosed in a paint-file border. Many 3D programs also support the Autodesk FLI and FLC animation file formats. Save your 3D animations in one of these formats, and you can use an animation program such as Autodesk Animator to edit them and even combine several animations.

Take Your Time

Don't let software claims of "vastly increased rendering times" deceive you into thinking that you can quickly and spontaneously create 3D graphics. Working with a fast PC and a 3D program employing the most advanced rendering techniques is still slow at best. Be patient and careful. As your work becomes more complex and ambitious, expect to do a lot of waiting and experimenting. But don't let the hard work and the slow pace put you off. The thrill of exploring the frontier of the third dimension is well worth it.

PRODUCT INFORMATION

3D Plan--$49.95 Autodesk Retail Products (11911 North Creek Parkway South, Bothell, Washington 98011, 800-228-3601 or 206-487-2233)

Requirements: IBM PC or compatible, 640K RAM, 2MB of EMS memory, 2MB of hard disk space, DOS 3.0 or higher, EGA or VGA, and mouse. Math coprocessor recommended. Also requires one other Home Series program.

3D Workshop 2.0--$299.95 Presidio Software (distributed by Brown-Wagh Publishing, 160 Knowles Drive Los Gatos, California 95030, 408-378-383)

Requirements: IBM PC or compatible, 640K RAM, DOS 3.0, EGA or VGA, and mouse. Math coprocessor recommended.

Virtual Reality Studio 2.0--$99.95 Domark Software (1900 South Norfolk, Suite 202, San Mateo, California 94403, 415-513-8929)

Requirements: IBM PC or compatible, 640K RAM, DOS 3.0 or higher, EGA or VGA graphics adapter, and mouse. A 12-MHz 286 or faster processor is recommended.

Vistapro 3.0--$129.95 Makepath Flight Director 1.0--$69.95 TerraMorph--$69.95 Virtual Reality Laboratories (2341 Ganador Court San Luis Obispo, California 93401, 805-545-8515)

Requirements: IBM PC or compatible, 640K RAM, 3MB of hard disk space, VGA or Super VGA graphics adapter, and mouse.