Breeze Designer

Version 1.0 (Beta Release)

3D Modeling and Design Tool
Written by Neville Richards

Overview

Getting Started

File menu

Edit menu

Keyboard Navigation

Toolbox Palettes

Textures

Object Properties

Importing

Exporting

Animation

Plug-In Modules

This is a beta release of the Breeze Designer for Windows.
This package and accociated utilities are copyright freeware.
No responsibility is taken for any damage or losses caused
by this program. This program and associated utilities
are distributed as is, without support.

Breeze (C) 1994,1995 Neville Richards. All Rights Reserved.


Overview

Breeze Designer is a 3-D modeling and design tool for creating scenes for a number of ray tracing and rendering programs. Breeze Designer may also be used to develop simple key frame animations by combining a succession of scenes.

A number of floating palettes, found under the Tools menu option, can be used to create, select and edit objects created in a scene. These palettes may be left active at all times, allowing quick access to key program features. By default the tools/objects palette is displayed after the program has loaded.

A mouse or pointing device may be used to input coordinates in 3D directly into a scene. This is done by selecting points on or more scene views. As the mouse is moved over a view, the current 3D coordinate will be displayed in the status bar. Press the right mouse button to lock the current coordinate. Move to the next view and release the coordinate lock by pressing the right button again. Using this technique all three axis (X,Y and Z) may be input. Two axis are entered for each view. The perspective view does not generate mouse coordinates. The mouse can also be used to selected multiple objects, that may be manipulated or grouped.

To create a new object, select the object from the floating tools/objects palette, and then simply click at the desired 3D point in an appropriate view. Once an object is selected, by clicking on it or by selecting it from the Object Selection palette, it may be moved in the current view by clicking on the object and dragging the mouse. Objects like text, torus, heigh-fields and lights are created with default properties. These properties may be changed, while the object is selected, once an object has been created by selecting the Properties menu option or by pressing Ctrl+P.


Object Groups

Multiple object may be selected dynamically by holding down the SHIFT key when selecting with the left mouse button. While the SHIFT key is being pressed, an unselected object will be selected into a group, a selected object will be de-selected. Once an object is selected it remains selected until, a new object is created, another unselected object is selected or the background is selected. Most operations are performed on the currently selected object or objects.

Simple groups of objects may be created by selecting a number of objects, an then selecting the Group menu option. To un-select grouped object, use the Ungroup menu option instead. Groups are only enforced at a logical level, all objects still behave as independent entities when moving, scaling or rotating. When a group is exported, the individual objects are declared in the exported scene and a new composite object is created containing all of the grouped objects. These composite groups are formatted to allow various CSG operations to be added manually. When blob objects in the same group are exported, they are automatically combined into one object.

CSG like operations may also be performed by using the object decompose feature. A solid object may be broken down into simple polygon mesh. The mesh can then be manipulated the transformation tools to add, subtract or alter polygons within the mesh. Once a solid object has been decomposed there is no means of converting the resulting mesh back into a solid object. Also the properties menu will not operate on most mesh characteristics. The point edit tool allows decomposed objects to be manipulated node by node.


Installation
Getting Started

System Requirements

Your system must have the following minimum hardware configuration to run Breeze Designer:

•	IBM-compatible AT (at least a 386) with maths co-processor

•	Windows 3.1 (386 Enhanced mode)

•	VGA, or higher resolution, video display adapter

•	A minimum of 4M bytes of RAM, 8Mb recommended

•	A minimum of 5Mb of free space on your hard drive

Installation

To install Breeze Designer, first is necessary, unpack the ZIP files into a temporary directory. Run the supplied Setup utility from the installation diskette or from a temporary directory, by selecting Run from the program manager File menu then type A:\SETUP and return. The A: should be replaced by the directory containing the Breeze Designer installation files, as necessary. The setup will allow you to select; the installation source directory,  installation directory and the installed components to be installed. These components include:

1. Program executables and settings files.
2. Texture sample images (optional).
3. Sample files (optional).
4. Macro language (optional)*
5. Plug-in Software Development Kit (optional)*

If you are using an external rendering package, such as POV, select the Render Setup; button, on the options dialog, and enter the directories for the renderer program and includes as well as the directory and name for an external image viewer.

If you are upgrading from an earlier version, it is recommended to delete the old program and program setting files before  installing this version. The program settings file should be found in the Windows directory.

To use an external rendering system, an additional image viewing program must also be used.  The  Render and View Settings dialog is used to select rendering and image viewing options. The Windows based image viewer WinView, also written by myself, may be easily used to display images generated by rendering packages such as Persistence of Vision POV-RAY.


File menu commands

The File menu offers the following commands:

New	Creates a new project or scene.
Open	Opens or imports an existing project, scene or model.
Close	Closes an opened scene.
Save	Saves an opened scene using the same file name.
Save As	Saves an opened scene to a specified file name and type.
Print	N/A
Print Setup	N/A
Exit	Exits Breeze Designer.


Edit menu commands

The Edit menu offers the following commands:

Cut	Deletes an object from the scene and moves it to the clipboard.
Copy	Copies an object from the scene to the clipboard.
Paste	Pastes an object from the clipboard into the current scene.


File New command
New command (File menu)

Use this command to create a new scene.

You can open an existing scene with the Open command.

Shortcuts

Keys:	CTRL+N


File Open command
Open command (File menu)

Use this command to open an existing scene, after clearing clearing the current. You can create new documents with the New command.

Shortcuts

Keys:	CTRL+O


File Close command
Close command (File menu)

Use this command to close all windows containing the active scene.  Breeze Designer suggests that you save changes to your document before you close it.  If you close a document without saving, you lose all changes made since the last time you saved it.  Before closing an untitled document, Breeze displays the Save As dialog box and suggests that you name and save the scene.


Toolbox Palettes

Breeze Designer supports a number of floating tool palettes. These once selected remain in screen and may be be used in conjunction with the mouse and menu operations.

Tool Palette

Object Selection Palette

View Control Palette


Tool Palette

The tool palette allows basic scene objects to be created quickly, by simply selecting the type of new object, then clicking on the desired 3D point. To modify an object once is has been created, use the move, scale, rotate buttons or the properties dialog option or add a surface finish by using the texture dialog.

Text	- create a text object

Plane	- an infinite plane in a selected axis

Disc 	- a flat round surface

Cylinder	- 3D cylinder

Cone	- 3D cone

Sphere	- 3D sphere

Ellipse	- 3D elliptical shape

Torus	- 3D donut shape

Cube	- 3D box

Height field	- 3D terrain surface

Light	- Point light source

The Properties dialog can be used to adjust objects with many object specific parameters such as the major and minor radius of a torus. The properties option will also allow you to enter the text for a text object, add the mapping file name to height field objects, and to select the type a light used for a light object. To quickly adjust an objects properties use the Ctrl+P keyboard accelerator.

To add a texture to an object, press Ctrl+T keyboard accelerator. This will allow you to select the object colour or texture from a list of pre-defined textures, or you can create a new texture interactively.


Object Selection Palette

The object selection palette shows a list of all the current objects in the scene. Objected may be selected by highlighting the an object and pressing the select button. The Edit and Delete operations are performed on the currently selected object or objects.

Breeze supports an unlimited number of objects. The maximum number of objects is limited only by the amount of memory available under Windows. As all objects are on a common layer, the speed of adding, deleting and manipulation objects will decrease as more objects are added.


View Control Palette

The view selection palette may be used to change the view in the perspective (or preview) view window. The viewer moves in a celestial orbit around the current view point for rorate, patch and yaw operations. The refresh button redraw all current views, while the home button restores the view settings to a axis based view. A number of key short cut sequences are also available to change this view.


Render and Viewer Settings

Breeze Designer supports both and internal rendering systems and external rendering package. This is selected through the Render and View settings dialog. Images may be rendered internally up to 4096 x 4096 (or constrained by available memory). A number of pre-set resolutions are available.

From within the render and view settings dialog, if selected, the external rendering package and image viewing package can be executed with the dialog settings.

The image output quality is also set through this dialog. Higher quality output generally require more calculating time and or more memory.


Import

Breeze Designer can import information from a number of different sources these include:

•	Autodesk 3D Studio (3DS)

•	AutoCAD (DXF)

•	Impulse Imagine*

•	ComputerScape

•	ASCII Coordinates (RAW format)

ASCII information may be imported as points, facets or objects.

Breeze will import both 2D and 3D AutoCAD DXF files. 2D files will be mapped onto the X-Y plane. Currently only 3D lines and facets are supported in 3D DXF models. All other attributes are ignored.

The ASCII representation for points, is a list of X,Y and Z coordinates separated by commas, with one coordinate per line. Imported points may be used to created swept or lathed objects.


Exporting

Breeze Designer can export data in the following formats:

•	Persistence of Vision Raytracer (POV-Ray version 2.0 format)

•	Pixar RenderMAN (RIB)*

•	ASCII Data (RAW format)

ASCII information may be exported as points, facets or objects.

Persistence of Vision Raytracer is an excellent freeware ray tracer available for a number of platforms. The POV-Ray export filter will produce a warning message if no lights sources have been created in a scene. To produce an image at least one light source should be in a scene. To automatically get a default lighting and camera setup, selected the Use Default Scene Settings option in the options dialog. This will create two reference lights in a scene whenever the new button or menu option is used.


Keyboard Navigation

The keyboard may be used to manipulate the camera view or an object. The INSERT key is used to toggle between view and object control. The SPACEBAR is used in all modes to refresh or redraw the current scene.

The camera controls are;

Arrow keys	Rotate about the view point
+/-	Zoom in and out, in the selected view
Ctrl+Home	Reset view point

The object controls are;

Arrow keys	Move object
+/-	Scale object

A special set of keys and mouse operations are defined for the Point Editor

General keyboard accelerators;

Home	Reset the 3D cursor position
F11/F12	Zoom in and out, in the selected view
Ctrl+P	Select the object properties dialog
Ctrl+T	Select the textures selection dialog
Ctrl+O	Open a new scene
Ctrl+S	Save the current scene
Ctrl-X	Cut object to local clipboard
Ctrl+C	Copy object to local clipboard
Ctrl+V	Paste object from local clipboard

Other Windows accelerators, are as marked on the main menu.


Selector

Select and object or objects.


Point

Create or edit an object containing a list of points. A special set
of keys and mouse operations are defined for the Point Editor


Text

Create a text object. Once the object has been placed the text may be added

through the properties dialog. The properties dialog allows a True Type font to

be selected and the text object to create a mesh representation. A text object

must be converted into a mesh before it can be rendered.


Plane

Create an infinite plane in the X,Y and Z axis.


Disc

Create a 2D disc object.


Sphere

Create a 3D sphere.


Ellipse

Create a 3D elliptical object.


Box

Create a 3D box.


Light

Lights may be either point sources , spot lights or area lights.
The properties dialog allow the light type to be defined.


Torus

A torus is a 4th order quartic polynomial shape that looks like a donut or
inner tube.  The torus is defined be two radii, a major and minor. The major
radii defines the centre of the outer (or larger) ring, while the minor defines
the radius of the cross

Both these settings can be adjusted using the Size property, on the properties
dialog. The X value is the major radii while the Y value is the minor radii.


Heightfield

Height fields are fast, efficient objects that are generally used to create
mountains or other raised surfaces out of hundreds of triangles in a mesh.

A height field is essentially a 1 unit wide by 1 unit long box with a
mountainous surface on top.  The height of the mountain at each point is
taken from the color number (palette index) of the pixels in a graphic
image file.

Height fields are created from image files. Use the object properties dialog
to select a Targa, GIF, POT or JPEG image to associate with a placed heightfield.
The water level (darkest color shown) may also be adjusted by using the Y
parameter of the water level field, in the properties dialog.


Blob

Create a meta-ball blob object. Blobs should be grouped for an interaction
surface to be created. The X threshold value controls the interaction threshold.


Cone

Create a 3D cone object.


Cylinder

Create a 3D cylinder object.


Credits
Breeze Credits

Breeze Designer is written & Copyright (C) 1994,1995 by Neville Richards.
All rights reserved. Please send any comments or queries to;

PO Box 687
Lane Cove
Nsw Australia 2066

Email : neville@imagos.dialix.oz.au

Many thanks to:

Robert Pollett &
Robert  McGregor

for their input in the design of this program.


Textures

The texture selection dialog, allows you to pick an existing colour or texture from a scroll list. A preview image, of each texture, is also available. To add a new texture, press the Add button. This will allows user defined textures to be built from a selection of characteristics.

Texture samples may be either Targa or GIF images. Each sample image is 100x100 pixels. Targa images are best suited to high-colour displays, as they provide the most accurate pre-view. For 256 colour displays, GIF images are recommended. This may increase the delay between viewing each image as GIF files are decompressed prior to viewing. This format does however save the most disk storage.

To add a new, user defined texture, selected the texture selection dialog, and press the Add button. This will enable the texture builder dialog. The texture builder allows you to modify an existing texture, by specifying a texture parent, or you may create a new texture from scratch. When creating or modifying a textures, the texture attributes are broken down into families of attributes; i.e. selected the type of attribute to be used; pigments, finishes, transformations, and then the specific attribute.

Example: Changing the Phong value of a pre-defined texture;

1. Goto to the texture builder.
2. Enter the texture to be changed into the Parent field.
3. Selected finish for Texture Item
4. Select Phong for option and enter the new value
5. Selected Enable and press Ok

This will create an automatic texture entry with the new settings. If you wish to create a preview sample of the new texture, before pressing the OK button, press the Render button to create the sample and the Show button to view it when rendered. The Render and Show buttons may be used a number of times in the texture design phase to fine tune the texture appearance.

Creating or Rebuilding the Texture Sample Images

To rebuild the on-line texture sample images, if the sample bitmaps are not present, go into the program options dialog, and select the Rebuild Texture Samples option. When you press Ok to exit this dialog, you will be asked you if you would like to create the sample textures. Answer Yes, and the program will create a series of render files, one for each texture. A batch file called TEXTURE.BAT will also be created in the defined textures directory. The batch file will render each texture image. Make sure the renderer directories are set correctly before using this option.


Object Properties

The object properties dialog is used to change the various properties associated with an object. Information not entered when an object is created may be added with this dialog. This particularly applies to height field and torus objects. The height bitmap can be found and added to a height field, as well as the water level and torus minor diameter (Size Y)  through the properties dialog.

Solid objects may be decomposed, this is they are converted into a polygon mesh representation. This operation is permanent. The resulting polygon mesh may be manipulated or used as components by the point and polygons transformation options.


Point Editor

The point editor allow you to create or edit point data sets. There are a number of special keys and mouse operations defined for this mode. These are;

Mouse, left click to select a point
Mouse, left click + shift to extend a selection
Mouse, left click + control to create a new point

To move a point, with the mouse, click on the point and drag to the new location. If multiple
points are selected dragging a single point will cause all points to be offset the the drag distance.
The following keyboard keys may also be used;

Arrow keys	Move the selected points
Delete	Deleted the selected point or points
*	Select current point
+/-	Goto next or previous point
[	Select all points to the left (X-axis) from a selected point
]	Select all points to the right (X-axis) from a selected point
PageUp/PageDown	Goto next or previous layer*


Transformation Tools

Transform,
Centre,
Scale,
Translate,
and Rotate

Manipulate a series of points, polygons or objects by geometric operations. Transformations can not be performed on objects. Objects must be decomposed before transformation.

Curve

Convert a series of points into a splined series. The point set is used as control set for a B-Spline fitting function. Due to the nature of curve fitting the resulting point set will not fully extend to the first and last of the control points. The control point set is destroyed in this operation.

Lathe

Convert a series of points into a series of rotated lines or a polygon mesh. The points should be entered in the X-Y axis. The output object will be aligned in the Y axis. The control point set is destroyed in this operation

Extrude

Convert a series of points into an extruded polygon shape. The points should be entered in the X-Y axis. The output object will be aligned in the Z axis. The control point set is destroyed in this operation


Animation

Breeze Designer supports a simple key frame animation system. Other third party animation tools may be implemented via Plug-In module support.

To animate a scene the following steps should be followed:

1. 	Create a new animation via the Animate menu option.
Specify the animation name, and the number of frames.

2.	Start the Animation Control tool palette.
This will allow you to add and update objects, and change frames.

3.	To join key frame use the Tween option (Animate).
Position, rotation, and scale are interpolated between key frames.
Use the Update button to create a key frame.

4.	To create an animation, use the Create option (Animate)
This will create a series of render scenes, one for each frame.
A list of scene files, and a render sequence file will also be created.

The Add button, on the Animation Control palette, will promote the currently selected objects for animation. To add a motion path to an animated object; add the desired object, select a point series that describes the required motion, and press the Add button again.

Key frames are created by moving the a frame, and pressing the Update button. This will acquire the current object attributes, and set them to the current frame. To see an animation frame; move the required frame, and press the Goto Frame button. The current scene will be re-drawn to show the selected frame. The Auto-Redraw check box may be used to automatically create the current frame when the frame scroll bar is used.

When an animation sequence is created, a series of render scene files are created. One scene file per frame. A sequence file and a frame list is also created. The sequence file entries are created by parsing the current sequence template. These entries may be in distributed temporal order. Distributed temporal order will attempt to create the most complete animation from the minimum number of frames. The sequence file may be used as a batch file to run the render process. The frame list is a simple list of all the render scenes created in time order.


Templates

The object format template can be used to control the conversion of point data sets into object sets, when a scene is saved. This feature can be used to allow large collections of objects to be controlled through point set manipulation.

The sequence template is used when creating a sequence file for an animation. The sequence files may be used as batch files to perform special manipulation, such as combining a set of scence files specfic to an animated scene.

The following variables can be used within a template:

$X	The current X coordinate

$Y	The current Y coordinate

$Z	The current Z coordinate

$F	The current animation frame

When writing sequences, the sequence list may be written in temporal distribution order. This order will allows animation to be checked using the least number of frames. The most statistically significant scenes will be written first in this sequence.


Plug-In Modules

Breeze Designer includes support for user defined or external Plug-In modules. This allows the basic interface to be modified and added to by third party utilities. The Breeze Plug-In API is available in the Breeze Programming Guide included in the Breeze Designer SDK. To enable external Plug-In modules select the Load Plug-In Tools option on the options dialog. The built in plug-in modules are always enabled. Use the Plug-In setup dialog from within the options dialog, or a suplied 3rd party installation program to install a new Plug-In tool.

This version of Breeze Designer includes a number of built in Plug-In modules, these are:

Points 	For generating simple point sets, including; lines,  circles, parabolas,
and helix data sets.

Polyhedra	For generating a variety of regular multi-sided shapes.

Objects	For generating a selection of objects including;  cables and
screw threads.

Other available plug-ins include:

Macro 	A simple, BASIC like macro language to enable scripts to be created
to build arrangements of objects or to create a animated scene.
The macro plug-in also supports variables, and simple flow control
statements.

Creatures	This plug-in uses a simple data hierarchy for creating and animating
articulated figures. Creatures can be created with a number of limbs,
and manipulated through setting limb angles or via a high level
creature script.

External pug-ins are added automatically to the Breeze Designers generate menu when the program is next executed after the plug-in has been installed.