New Product Announcement!! / FREE Demonstration Version!! Cosmic Software Corp. began shipping its new product, Microcosm, today. Microcosm is a rendering animation, virtual reality, and simulation program which is controlled by an interpreted programming language. 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, Virtual Reality, Ray Tracing, Shading Language, Procedural Modeling 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. In addition, Microcosm uses a number of original, completely new rendering algorithms which exist in no other software package. For example, the real-time shadows and reflections (z buffer / ray tracer hybrid), the fisheye and panoramic projections, the outline / silhouette rendering modes, and the easy-to-understand interpreted shading language are features that unique. ------------------------------------------------------------------------------ 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 science. * 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. * A 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. * Hierarchicy 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 imported. * 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 yourself. * 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 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. Microcosm is priced at $180.00 which includes the executable, around 100 example description files of pictures and animations, and a detailed 200 page manual with almost 100 images and diagrams, 25 which are in color. To order, send a US check or money order to: Cosmic Software Corp. 1413 Mound St. Madison, WI 53711 Be sure to specify the mailing address where you want your order shipped. Price includes shipping and handling for orders within the US. Foreign orders please write or E-mail for ordering information. We can also be reached via E-mail at cosmic@world.std.com. Abe Megahed Mark Spychalla President Vice President