ChromaCAD / graphics / commercial

From: Michael Current (aa700@cleveland.Freenet.Edu)
Date: 12/22/91-06:02:40 PM Z


From: aa700@cleveland.Freenet.Edu (Michael Current)
Subject: ChromaCAD / graphics / commercial
Date: Sun Dec 22 18:02:40 1991


Reprinted from Current Notes, Vol. 11, No. 10, December 1991
 
 
ChromaCAD
---------
 
Exploring the Third Dimension
 
Review by Rick Reaser
 
 
Taking the ChromaCAD Challenge
     There was quite a stir at our September Users Group 8-bit SIG.  
Everyone was talking about this impressive advertisement in _Atari 
Interface Magazine_ and _Current Notes_ for a new 3-D modeling program 
for the 8-bit, called _ChromaCAD_.  Surely no one could do something 
that exotic for our machines!  I got a call from The Alchemist (CN's Ben 
Poehland) asking me to review it.  That meant the program didn't just 
exist in an ad, but on a floppy as well!
     I soon received a thick envelope with four diskettes, two manuals 
(over 200 pages worth), and a pair of 3-D glasses.  It would be quite a 
feat to sort through all this material in the short six weeks I had to 
complete the review for _Current Notes_.  I used the programs with 
several different computer setups, created several different 3-D models, 
and tried most of the features (but not necessarily in every 
combination).  So, let's see what _ChromaCAD_ is all about.
 
What is ChromaCAD?
     _ChromaCAD_ is a 3-D modeling system that actually consists of two 
(soon to be three) separate program modules.  The physical analogy to 
_ChromaCAD_ would be taking a piece of clay, forming it into any shape 
you want, then painting it--using your computer.  _ChromaCAD's_ "Model 
Builder 91" program module lets you "shape the clay."  The _ChromaCAD 
"Surface Shader XE 91" module lets you "paint" your model and view it 
under different lighting conditions.  The soon to be available "Printer 
Driver/Utility Disk" module will allow you to print a flat picture of 
your creation to paper or to the screen from any selected angle under 
any selected lighting.  In a nutshell, rather than merely drawing, then 
coloring, your pictures on a flat, 2-D surface, _ChromaCAD_ gives you 
the ability to add true depth to your artwork.
     The penalty for working in 3-D, however, is that you now need to 
worry about that third dimension.  Normally, when you draw a picture on 
your computer or piece of paper, you only worry about how wide and how 
tall to make things.  It's possible to make a 2-D picture look 3-D by 
using "perspective" and "vanishing points" like you learned in art 
class.  But, in reality, you still only worry about how wide or tall to 
make the lines using special rules.  That "wideness" direction is 
designated the "X-axis" while "tallness" lies along the "Y-axis."  With 
_ChromaCAD_, you also have to deal with "depth" or the "Z-axis" which 
runs perpendicular to the X and Y axes towards you straight off the 
paper or computer screen.  Fortunately, _ChromaCAD_ has some ways to 
help with this third dimension, but you'll still need to understand 3-D 
coordinate systems to some degree in order to use the programs.  And, to 
use _ChromaCAD_ to its full capacity, you'll need a basic understanding 
of how to plot points on graph paper.
     I'm personally familiar with one other program for the 8-bit that 
works in 3-D.  It's called _Atari World_, a 1981 translation by C. 
Kingston of an Apple II program called, believe it or not, _Apple 
World_, written by P. Lutus.  _Atari World_ is essentially a 3-D "turtle 
graphics" program.  It allows you to draw 3-D, straight line, multi-
color, wire frame models.  The program allows you to rotate, zoom in, or 
shift the wire frame model from side to side or up and down.  You can 
also write little programs to do this rotation, zooming and shifting so, 
in effect, you can "tour" your creations.
     There are several BASIC type-in PD programs similar to _Atari 
World_.  Two that come to mind are _Solid States_ from the October 1981 
_ANALOG_ and _Easy 3-D Wireframes_ from the July 1988 _ANTIC_.  Both 
these programs run hot and fast under TurboBASIC.  _Solid States_ is 
file number 1672 in the GEnie 8-bit Library.  File 3550 in the GEnie 8-
bit Library, DRAW3D.COM is probably a wireframe modeler as well.  
There's also an Action! program called _View 3-D_ from the June '85 
_ANTIC_.  The only drawback to all these programs is that your models 
are just wire frames; you can see right through them.  Fine for making 
bird cages, but if you wanted the picture of your house to have stucco 
and siding, you were out of luck, until _ChromaCAD_ came along.
     _ChromaCAD_ handles the third dimension using a different concept 
from _Atari World_ or other Computer Aided Design (CAD) programs you may 
have seen or read about on "larger" computers (like the Atari ST or 
mainframes).  Most 3-D solid modeling CAD programs take standard solid 
figures like cubes, cylinders and spheres and allow you to stick them 
together in various ways.  Others will take wireframes ala _Atari World_ 
and color the faces.  Both these methods have several limitations.  
_ChromaCAD's_ method is very clever and entirely different.
 
How Does It Work?
     The _ChromaCAD_ "Model Builder 91" module builds 3-D models in 
"shell slices."  Let's say you wanted to create a 3-D model of a paper 
towel tube: a hollow cylinder.  Stand the tube on end.  First you would 
plot a circle of points to represent the bottom edge of the tube.  Next 
you would create another circle of points to represent a middle cut or 
cross section of the tube.  Connect the points of the midsection circle 
to those on the bottom circle such that you create a bunch of triangular 
panels.  As you create these triangular panels, you assign a color 
number to each.  Next, create another circle of points to represent the 
top edge of the tube and connect these points to the middle section to 
make triangular panels as before, assigning color numbers as you go.  
These slices can be stacked over and over and the shape of the cross 
section can change along the way.  In fact. a cross section can be a 
single point, so that you can close off the shapes.  So, in reality, the 
shapes you create aren't really solid, but hollow shells that only 
appear to be solid from the outside.  When viewing completed models with 
"Model Builder," only the lines representing the cross sections appear.  
So in the case of our paper towel tube, you would only see three circles 
stacked on top of each other.  Now we're ready for "Surface Shader."
     The "Surface Shader XE 91" module colors and fills in each of those 
triangular panels you created with "Model Builder."  You can change the 
color assigned to each color number and set up the lighting and viewing 
angle for your creation.  "Surface Shader" generates up to eight images 
of the model--each with the requisite lighting and coloring, in the 
extended memory of the 130XE or 256K RAMBO'd 800XL, then flips between 
them every 1/60th of a second to create a very high resolution video 
image.  This flipping action can also be used to create 3-D pictures 
that appear to hop off the screen when viewed through the special 
glasses provided with the program.
 
Hardware Requirements and Compatibility
     "Model Builder 91" requires a 48K machine to run successfully.  I 
tried it on a plain-vanilla 48K 800, RAMBO'd 256K 800XL, and 130XE; they 
all worked fine.  "Surface Shader XE 91" comes in two versions.  It was 
originally designed for the 130XE, using the extended memory to store 
the screen images which are flipped in sequence on the video display.  
The second version works with ICD's RAMBO 256K upgrade for the 800XL.  
Since RAMBO uses the CPU mode to access extended memory and the 130XE 
version of the program uses ANTIC to do this, there had to be a few 
sacrifices.  The RAMBO-XL version lacks a few of the "bells and 
whistles" of the 130XE version.  The author should be commended for 
going through the effort to make the RAMBO version.  [8-bit Editor's 
note: Palette Imaging produced the RAMBO version in response to 
complaints from that grumpy Alchemist fellow, who doesn't have an XE.]
     _ChromaCAD_ is a single disk drive operation.  Both programs are 
self-booting from the diskette.  Since the program is only accessed once 
during initial loading, this shouldn't be viewed as a handicap.  You 
never need to swap disks between the program and the disk with you model 
data.  Both programs load off a standard single density disk drive.  I 
tried loading the programs on a Percom RFD40-S2 and U/S Doubler Atari 
1050.  The model data disks can be formatted in 1050 Enhanced Density 
for greater capacity.  I was unable to get the program to work with true 
double density diskettes on either drive.
     Both programs will work with either a color TV or color monitor.  I 
tried both; to be honest, I liked the TV best for viewing finished 
models.  The "smearing" and big screen on the TV make the models look 
"warmer" for some reason.  Of course, the various text menus to run the 
programs look better on a monitor.  Running on a monitor with separate 
chrominance and luminance is probably even better.  I also tried my 
800XL recently improved with Ben Poehland's Super Video Rev. 2 upgrade 
(CN, September/October 1991) and got good results.  Using a monochrome 
setup defeats the purpose of the program (color is required for 3-D), so 
I wouldn't recommend that.
     _ChromaCAD_ is Forth based.  Forth is a self-contained programming 
environment; as such, it comes with its own compact DOS.  Forth DOS is 
not compatible with AtariDOS or SpartaDOS.  Because of the Forth DOS, 
the programs can't be moved to a hard drive since they aren't structured 
as command files that could be loaded from a command line interpreter 
like SpartaDOS.  This also means the actual model data isn't accessible 
except through the programs themselves.  You can't intermingle 
_ChromaCAD_ model files with other files on a SpartaDOS or MyDOS 
configured hard drive.  A separate Forth DOS configured partition would 
be needed for this purpose.  Unless you're a hard drive fanatic, 
operating off the diskettes isn't really that bad and doesn't slow 
things down, one the programs are booted.
     The soon to be released "Printer Driver/Utility Disk" will allow 
you to store a screen image file (single view with one lighting) in 
AtariDOS.  This will allow screen images to be transmitted easily via 
modem or by passing disks.  The model data itself is presently confined 
to Forth DOS.  The only way to exchange actual models would be to trade 
diskettes or use Bob Puff's _Disk Commander_ to compress the disk into a 
single file and then decompress it.
 
Manuals
     Each program module comes with a nicely written, plastic comb bound 
manual.  The "Model Builder" manual is 136 pages long with over 60 
illustrations.  The "Surface Shader" manual is 69 pages long, although 
the first 20 pages are identical to the "Model Builder" manual.  both 
manuals are essentially tutorials of the programs.  Neither is organized 
to provide reference type information, but the index in each helps is 
this regard.  A lot of time was obviously spent on the manuals, since 
they look professional and have a table of contents as well as an index.  
A program as powerful and with as many features as _ChromaCAD_ really 
needs a comprehensive manual.  The author even "test drove" the manuals 
with 14-year olds to ensure they were understandable.
 
Using ChromaCAD
     _ChromaCAD_ is a very powerful system, giving the user absolute 
control over every aspect of his model.  Naturally, with all this power 
comes a requisite amount of complexity.  Although the author makes great 
strides in simplifying things for the user, this is still not a program 
that you will master quickly.  I found the key to success was to 
precisely follow the tutorials in the manual before branching out on my 
own.  It was also imperative to understand three-dimensional coordinate 
systems and how they are used in the programs, so these beginning 
sections of the manuals are critical to success.
     The program modules are essentially menu-driven.  While plotting 
points on the graph screen with "Model Builder," there are special 
keystrokes that must be remembered to access certain functions and 
menus.  There are also special keystrokes that must be remembered at the 
main _ChromaCAD_ menu as well for both program modules.  The manual has 
a separate page listing special keystrokes that can be used as a :cheat 
sheet."  When plotting points on the graph, it's also possible to use 
the joystick to move the cursor around, which was quite handy.
     In addition to the models in the tutorials, I finished six original 
creations of my own design using the "Model Builder" modules.  I created 
two cubes, a straight tube, an enclosed cylinder, a sphere and a 
pumpkin.  Once I got the hang of it, the menus and memorized keystrokes 
were fairly natural.  I quickly learned how extremely important it is to 
plan your model ahead of time.  Once you save a contour line or slice to 
disk, your only option is to erase the whole line if you make a mistake.  
If you discover you made an error two lines back, guess what?  You have 
to erase everything back to that point!  Arrgghhh!  Before you turn on 
the computer, have a good plan of attack and at least a few of the 
slices graphed out on paper.  Enclosing the ends of models of figuring 
out how to have "dents" on the ends of models requires some advanced 
planning and use of special features provided by the program.  One of 
these is a right hand rule, since the triangular panels are only visible 
from one direction.
     "Model Builder" provides several excellent tools to help create 
contour lines.  In addition to being able to plot points via the 
joystick, points can also be entered by coordinate number.  The "drawing 
universe" is 65536 x 65536 x 65536 of points.  There's even a tool to 
graft arcs and lines together.  Mastering these tools is fairly easy and 
a must for speed in model building.
     Connecting the points between contour lines to make the triangles 
is also made easy with several tools.  Since it's a "done deal," once 
you store a contour line to disk, the program provides several ways to 
check your work.  You can trace through the triangles to ensure they're 
properly constructed, or you can view the completed contour.
     With "Model Builder," you can only view the models in contour line 
form.  You can pick any viewing angle and even have the program display 
more than one model at once on the screen.  To see what the sculptured 
surface looks like, you load the model into the "Surface Shader" module.
     "Surface Shader" uses some of the same menus as "Model Builder," 
and the user interface is essentially the same making the learning curve 
a little less steep.  The model orientation controls and 3-D coordinate 
system are also the same.  The first thing I noticed was that models are 
loaded by number rather than file name.  This appears to be an artifact 
of Forth DOS which handles things with block numbers.
     There are an incredible number of options to invoke within "Surface 
Shader."  You can orient the model any way you want and set up spot 
lights from any direction or elevation as well.  These aren't just 
ordinary spotlights.  The color of each light can be specified, and 
ambient light is also available.  One of the special features that 
worked quite well for me was the highlighting option.  This option 
overemphasizes the direct glare of light off the model as if it were a 
shiny surface.  It looked quite realistic to me.
     "Surface Shader" offers four different display modes. one of which 
provides a 3-D view with the accompanying special glasses.  It took some 
adjustment of the knobs on my TV, but I got 3-D to work and was quite 
impressed.  It's important to note that the amount of time to load a 
model into the computer depends on what mode you use and how many 
screens are generated.  The more screens (read, resolution), the more 
loading time to generate an image on your monitor.  It took about _45 
minutes_ to generate the "head" model shown in the _ChromaCAD_ 
advertisement.
     Soon to be available is the "Printer Driver/Utility Diskette."  I 
didn't have a copy of it to review, but I did see some output from it.  
It allows you to print the screen views of your creations.  By using 
multiple passes with a used ribbon, incredible contrast (grey scale) is 
possible.  Color printing is also supported.  As previously explained, 
the utility disk also allows screen views to be saved in AtariDOS format 
for viewing by others.
 
Who Is ChromaCAD for?
     _ChromaCAD_ is targeted at graphic artists, according to the 
literature.  The author intends to port it over to other machines as 
well.  This shouldn't be too difficult since it's written in a high-
order language, namely Forth.  I wouldn't recommend this program to 
someone who isn't serious about 3-D modeling.  This program is for high 
schoolers and above.  It takes a fair amount of dedication and desire to 
master it.  The results, however, are spectacular, especially for an 8-
bit.
 
Quirks, Bugs, and the Wish List
     I found the menu system to be different from what I expected.  It 
would seem logical to me that "in" would be to the right and "out" to 
the left.  It's not hard to get used to, but it wasn't natural to me.  I 
missed hearing a noise when I plotted a point.  Sometimes I wasn't sure 
if I had hit the period key hard enough to plot the point.  It was 
heartbreaking to have to erase a whole line when I made a mistake.
     I was unable to crash to program, except when I tried to get it to 
initialize a double density diskette and while changing model disks.  
There should probably be more prompting when changing model disks while 
in the program.  Error trapping appears to be quite thoroughly tested.  
Everything worked as advertised.
     It would be nice to be able to change the position of a single 
point on a contour after the model is done to "adjust" things.  It would 
be nice to be able to change the color number assigned to a triangular 
panel after saving as well.  The lack of AtariDOS compatibility is 
workable, but not convenient.  Once you start a new model on a diskette, 
it would be nice to be able to add contour lines to a previous model.  
You have to work on a model to completion before you start another model 
on the same diskette.  It would be nice to be able to give the models 
names rather than just numbers.  If screen images could be stored in 
standard Atari picture files, they could be ported into other graphics 
programs, such as _MicroPainter_.
     The popular _ANTIC_ graphics program "Rambrandt" is also written in 
Forth and has many similarities to _ChromaCAD_, especially its DOS.  It 
might not be that tough to load _ChromaCAD_ screens into _Rambrandt_ for 
2-D editing.
     The long load time for "Surface Shader" is unavoidable, but a 
nuisance.  There's an option to turn off the screen to speed up things, 
so the author is sensitive to this issue.
 
Bottom Line
     _ChromaCAD_ is a very powerful graphics program unlike anything 
ever produced for the 8-bit in the past.  It takes considerable patience 
to master, but results and the amount of control over the final produce 
are unequalled.  In order to be truly useful, you really need both the 
"Model Builder 91" and the "Surface Shader XE 91" modules, which are 
sold separately.  I've only scratched the surface of _ChromaCAD's_ 
capabilities in this review.  The _ChromaCAD_ system isn't for everyone, 
but if you want to create shaded, solid 3-D models, this is the program 
for you.
     [ChromaCAD, Palette Imaging, Inc., 1 Closter Commons STE, Closter, 
NJ 07624-0400.  VISA/MC (201) 767-3913.  Model Builder 91, $29.95; 
Surface Shader XE 91, $29.95.  $4.00 S/H 7% tax for NJ residents.  
Printer Driver/Utility Disk, public domain, to be available on GEnie.]
 
-- 
 Michael Current, Cleveland Free-Net 8-bit Atari SIGOp   -->>  go atari8  <<--
   The Cleveland Free-Net Atari SIG is the Central Atari Information Network
      Internet: currentm@carleton.edu / UUCP: ...!umn-cs!ccnfld!currentm
      BITNET: currentm%carleton.edu@interbit / Cleveland Free-Net: aa700


-----------------------------------------
Return to message index