Microcosm ( Announcement / Free Demonstration Version )

Skip to first unread message

Cosmic Software

Sep 19, 1993, 7:46:24 PM9/19/93

New Product Announcement!! / Free Demonstration Version


We, at Cosmic Software Corporation, are proud to announce a new rendering /
animation / simulation product called 'Microcosm'. Currently, the software
runs under MS-DOS (3.0 or higher) with any VESA-complient (VGA or SVGA)
graphics card. A freely distributable demonstration version along with over
100 examples and finished renderings are available via anonymous ftp.

Keywords: Rendering, Animation, Simulation, Ray Tracing, Shading Language

The Microcosm system is composed of a set of advanced 3D graphics routines
which are controlled by a simple, high level interpreted programming language
called SMPL for Simulation / Modeling Programming Language. This gives even
the novice programmer the power and flexibility to easily create graphics
applications which could only previously be done with great difficulty and
expense in low level languages such as C. Since the language is interpreted,
you may change things and immediately re-run your graphics program without
waiting for the computer to re-compile it.


Applications of Microcosm


Microcosm can be used for almost any graphics or visualization application
which doesn't require a lot of operating system support. The high level
interpreted language means that you get the flexibility of programming without
being mired in the low level details associated with computer programming.
A few applications are considered below:

* Commercial Graphics / Advertising

Since Microcosm also has the advanced rendering capabilities found in many
much more expensive and complex packages, you have the power to create
realistic 3D graphics with realistic special effects such as reflections,
transparency, shadows, fog, and refraction. You can create objects which are
shiny plastic, gleaming gold, shimmering metallic, or crystalline glass.
Objects may also be dull, flat or even foggy. You can simulate smoke and
mirrors. With a shading language, the power user can actually create the
exact surface types that they need for just the right look.

* Scientific Visualization

For scientists, the programming language is an especially powerful tool.
Scientists may use the program as just a renderer or they may use the program
as a renderer / simulator. As a renderer, Microcosm provides a relatively
simple and powerful format for reading in your data sets. Stunning graphics
can be produced from the data which can be used to add extra spice to
scientific papers and proposals. As a simulator, you can program Microcosm to
walk through the data or to have the data respond in certain ways to user
inputs. Relatively simple simulations can be programmed directly in the SMPL
programming language to simulate and render at the same time saving time and
energy over programming them in a tedious low level language such as C. Save
yourself the trouble of dealing with the low-level bithead problems such as
opening the display and dealing with the OS so you can concentrate on the

* Education

Microcosm was inspired by the type of programming which was encouraged by the
days of programming in interpreted BASIC on the Apple II. Since those days,
computers have become faster and more powerful, but they have also gotten
more complex and difficult to use and especially to program. This has driven
the computer away from schools as an educational tool in the sciences and
relegated it to run canned programs such as word processors instead of running
the students' programs. Microcosm is meant to change all that. Since the
complex 3D graphics are all taken care of for you, and vectors and complex
numbers are provided as built in data types, programming simple physical
simulations is easy. Some examples are gravitation and elastic collision.
These processes can be illustrated by Microcosm by animating the objects
using the physical laws to govern their behavior. In addition, the forces and
accelerations involved can easily be shown graphically as 3D vectors which
change as the simulation progresses. This is a tremendous aid to visualizing
physics. Mathematics and geometry can also be easily visualized with this type
of tool. Ten years ago, teachers used to write their own little programs in
BASIC to help educate the students. At that time, realistic 3D simulation was
not possible with the technology available. Now, for the first time ever, the
hardware is powerful enough to make simulation an educational tool. Software
such as this makes it possible.

* Art

Beautiful mathematical shapes such as seashells and trees can be programmed
using the language. Many shapes and forms such as these would be impossible
to build by hand with a conventional modeling system. The shading language
provides the artist with many possible surface types to experiment with.


Features of Microcosm


Microcosm incorporates a number of new rendering algorithms in a well
integrated system. Some interesting features are as follows:


Rendering Features:


* Shading Language

The shading of all surface types is described by a programmable shading
language which makes it possible for the user to modify existing surface
types or create new types of surfaces.

* Real-Time Soft Shadows, Reflections, and Transparency / Refraction

By combining the z buffer algorithm and ray tracing, we are able to provide
approximate soft shadows, reflections, and transparency / refraction effects
at interactive rates.

* Interactive Coarse Ray Tracing

By ray tracing images at low resolution and scattering the rays in a
pseudo-random pattern, we can create simple interactive animation using ray
tracing, where the successive frames of the animation smoothly blend into
one another.

* Clean Line Rendering Modes

Rendering modes are provided which find the silhouette edges and produce nice,
clean looking images instead of the cluttered wireframe meshes which are
usually standard. These images may also be antialiased.

* Shaded Rendering Modes

Shaded images may be produced using the flat shading, Gouraud shading, or
Phong shading algorithms.

* Ray Tracing

For photorealistic renderings, ray tracing is available with supersampled
antialiasing for the highest quality images.

* Choice of Projections

A variety of different types of camera lenses are provided which each have
different distortion effects. The 4 types are: orthographic, perspective,
fisheye, and panoramic. The fisheye and panoramic projections may encompass
up to 360 degree fields of view which make them ideal for dramatic wide
angle effects.

* Hierarchy

Since primitives are handled in a hierarchical fashion, databases with
millions or even billions of primitives may be rendered on modest machines.

* Stereo Rendering

3D Stereo graphics may be produced using the color anaglyph (red and blue
colored glasses) technique.


Modeling Features:


* Procedural Modeling

Smart objects can be created which 'know' how to behave. Also, algorithmically
created objects, such as seashells, are easy to program in the SMPL
programming language.

* Fractals

Objects can be defined in a recursive way which makes it easy to implement
fractal, or self-similar objects such as trees, snowflakes, or ferns.

* Variety of Primitives

There are 20 different primitive objects including the popular quadrics,
torii, and polygonal surfaces. Additional object types which are not built
in to the program are provided by interpreted description files which are

* Extensibility

Objects, shaders, transformations, colors, etc. may be imported from other
SMPL files.


Programming Features:


* Easy-to-Read Syntax

A syntax which is very English-like is used to make programming easier.

* Procedural, Block Structure

The block structured SMPL language is very similar to C and Pascal and
therefore should be especially easy to learn for an experienced programmer.

* Flexible Parameter Passing

Optional, mandatory, and keyword parameters are used to make parameter
definition much more flexible.

* Built-in Data Types

Data types of use to scientists and engineers, such as complex numbers and
vectors are built in. In addition, unlike the 'C' language, extensive type
checking is used to avoid problems in combining many different data types
together in expressions.

* Smart Arrays

Arrays always 'know' their bounds so you don't have to keep track of this

* Nested Comments

Comments may be nested inside one another to comment out blocks of code with
comments in them.


Wow!! Cool!! Great!! How do I get it?!

The demonstration version of Microcosm can be obtained via anonymous ftp
from dpls.dacc.wisc.edu in /graphics/mcm. The executable runs on any MS-DOS
system (3.0 or higher) with a VESA-complient (VGA or better) graphics card.
The demo version runs for about 15 seconds before quitting and also is unable
to save files, so it can be used only to preview simple renderings or
animations. A number of finished renderings are available to illustrate the
advanced rendering capabilities of Microcosm. Also provided free are about 100
example description files to demonstrate the capabilities of Microcosm.

Beginning October 1, 1993, Microcosm will be offered for sale at a price of
$180.00 which includes the fully functional executable, around 100 example
description files of pictures and animations, and a detailed 150 page manual
with almost 100 color images and diagrams. Ordering and additional information
will be released on October 1. No orders will be taken until October, but
questions and comments are welcome.

We can be reached via E-mail at cos...@world.std.com

Abe Megahed Mark Spychalla
President Vice President

Cosmic Software Corporation
1413 Mound St.
Madison, WI 53711

Reply all
Reply to author
0 new messages