^UClayWorks on-line help.^U

Topics:

i.   Basics/General info..
ii.  Drawing functions..
iii. File Functions..
iv.  Selection/editing functions..
v.   Memory..
iv.  Credits & contact info..


^uBasics/General info..^u

Drawing in 3d can be tricky, in
writing Clay, I have tried to
make it as as easy as possible.
On startup you have a display
showing a menubar along the top
of the screen, a palette of
drawing tool icons (also accesable
using the 'edit' menu), a palette
box (double click on a colour to
edit it) and a central display
containing 4 windows. These show
the object as you are editing it
and all but the perspective
window (bottom-right) can be used
to create new shapes.
A range of function specific to
the current drawing mode will
appear at the top of the screen.
The perspective window can show
objects in several drawing modes
from plain dots to gouraud shading,
all in realtime. Surfaces are only
visible in this window, the editing
window just views the wireframe
representation.

The first tool you must master is
the 3d cursor. This is visible in
all 4 windows as a red cross. To
move it, hold down the right mouse
button in any of the 3 editing
windows and move the mouse around.
The cursor will follow the movement
in all of the windows. The 3
editing windows show the object flat
along a 2d-plane and are therefore
missing one dimension each, the
cursor is used to make up for that
missing dimension. For example,
select the drawing mode 'Square'.
To draw a square you must click and
drag the mouse in any of the editing
windows. Try this and then try to
move the cursor so that it at a
'deeper' position. Now draw another
square in the same plane as before.
That is all you need to do to draw
in 3d.
  The other basic tool is the select
tool. The icon for this is the
little mouse cursor in the top-left
of the tool box. Try clicking on a
node (the white squares inbetween
the lines), holding down the mouse
and draging it around. 
Now try draging a box over a number
of nodes. A bounding box should appear.
You can use this to move, resize and
copy selected nodes, lines and surfaces.
To make a copy of the selected items
simply move the box and click the right
button as well as the left, you should
leave a copy under the mouse cursor.
There are 3 different selection modes:
move/resize, rotate and deform. Select
these different modes using the list
displayed at the top of the screen.
If you click on 'extrude' then when you
copy a selection, lines and surfaces will
connect between the old selection and the
copy. The box containing a number donates
the amount of copies you create in one
use of the copy function.
You can make multiple selections by
holding down 'Alt' when selecting and to
select only a subset of the current
selection, hold down 'Ctrl' (that has no
effect when nothing is selected).
  Another point to node is that the
centre of the editing space is shown by
a red 'X'.

^uDrawing Functions^u

^uSquare:^u
Simply click and drag in any of the editing
windows. The surface of the square is
realized as a double sided polygon in the
current foreground colour.

^uCube:^u
Draw as above. The depth of the cube is 
taken from the width. All polygons are
single sided.

^uDot:^u
Simply creates a single node with no
polygon or wireframe connections.

^uLine:^u
Not yet implemented.

^UCone:^u
Creates a cone with a base (all
polygons are single sided, if you go
inside the cone you will not see surfaces,
see 'Selection/editing functions..' to find
out how to make surfaces double sided).
The base can be any equalatrial polygon
with 3 to 30 sides.

^uCircle^u
Not actually a circle but again, an
equalatrial polygon with 3 to 30 sides.
Surface is double sided as default.

^uSphere^u
The number selector controls the amount
of segements and the number of sides on
each segment of the spherical shape.

^uRotated form^u
Only of any use when some nodes are
selected. clicking in an editing window
will create a rotated form by sweeping
the pattern through 360 degrees around
the centre of the editing space.
Again, the number box can have a range
of 3 to 30 and controls the amount of
sides on each segment of the rotated
form.

^uGrid^u
Creates a grid with the X and Y counts
specified using the two number box's.

^uText^u
Enter text into the grey box at the top
of the screen and click in an editing
window. If a font is loaded, text will
appear at that point. To load a font,
goto the font menu and select 'load
font'. Fonts are Borland '.CHR'
stroked font files.
NB. Borland fonts are wireframe and
therefore no surfaces are created
when a font is drawn. You can give
them depth, however with the 'extrude'
tool.

^UFile Functions^U
ClayWorks allows you to load, save and
append files in a number of formats,
these formats are as follows:

'.3d' :Clayworks internal format.
'.RWX':RenderWare scripting format.
'.POV':Pov scene file.
'.OBJ':Simple triangle format.
'.PLG':Avril/Rend386 single object.

Saving in these formats will work fine
but in some cases I am only able to
parse a subset of the original file
when loading and/or some detail might be
comprimized in converting these files to
ClayWorks' internal representation. (eg,
definitions of primatives will be
converted to surfaces and saved as such,
so keep a copy of your original objects).

^uSelecting/editing functions^u
There are serveral useful tools in the
select menu.
  Clear simply delselects any selected
nodes. Delete will remove any selected
nodes and any polygons or lines and
touch them. Merge will combine all the
selected nodes.
  The 'Flip' menu will flip the selection
in any of the 3 axis.
  The 'Polygons' menu is concearned only
with surfaces. To see any changes, you
will need to have the 3d window on a
surface viewing mode (hidden line upto
gouraud).
  Double sided will make all the surfaces
selected visible from both sides, single
sided will render them invisible when they
point away from you. 'Flip normals' will
change the direction in which a surface is
visible (a normal is a line that sticks
out perpendicular to a surface). Delete
will remove all selected surfaces. Apply
colour will paint to current foreground
colour on all selected surfaces.

^UMemory^U
The current version of ClayWorks does not
use extended memory. Future versions will
use 32-bit memory access (no need for an
ems-driver) but until then, memory is tight.
Large objects can be edited in Clay
nonetheless but memory might run short if
a large font is loaded and/or many devices
are running.

^UCredits and contact info^U

ClayWorks is written by myself, Tim Lewis
in Turbo Pascal 7 and tasm assembler.
Future versions are planed to be written
in Watcom C++ v10 on evaluation of the
compiler.  ClayWorks uses Twin, an object
orientated fully functional multi-tasking
(if non- preemptive) GUI. ClayWorks has
existed in one form or another since 1992.
The original version was written in
Archamidies interperated Basic! It has
improved since then.

ClayWorks is distributed by Imaginative
Entertainment and is copyright
T.Lewis 1992-1995.

Credits:

My friends and family for being
supportive and making sure I get out
and enjoy myself, Lancaster Uni for having
internet access, the bar-staff at Grizedale
bar for doing cheap Guiness, Chuck Durham
and Zach for their kind words and general
interest in my work, Todd Porter for his
help and again, interest in my work (his
is pretty good too, check it out), to
Borland international for doing a good job
of Pascal 7, my bike for taking me to campus
each day, Autodesk for providing a goal to
try and outperform and underpice (I wish
the former but can manage the latter)
Richard F. Ferraro for writing 'Programers
guide to the EGA and VGA cards', Alan Watt
for the book '3d computer Graphics',
Gorsinon College, Swansea for getting me
interested in programming 4 years ago but
_not_ for chucking me off the network there!
William Gibson for no other reason than I
like his books and to all the people that
developed the 3d maths, shading techniques
and whatever that I have used in this
software.

^UContact info^U

Please contact me at this email
address:

csc023@cent1.lancs.ac.uk

and at this snail mail address:

Tim Lewis, Grizedale college,
Lancater uni, Lancater,
North England, Britain,
LA14YU.







