Hypercosm Teleporter for 3ds Max
A 3D Web Publishing Solution for Autodesk's 3ds Max Software
Hypercosm Teleporter for SketchUp
A 3D Web Publishing Solution for Google/Trimble's SketchUp Software

Software Development

I am, perhaps, not a natural born software developer (if there is such a thing). By nature, I tend to be more interested in making something beautiful and useful than in coding just for its own sake. I have a very strong sense of coding aethetics. I write code that is exceptionally well thought out, structured, clear, readable, and maintainable. In the long run, this approach has proven to work well. So, even if I am not a software developer by nature, in practice, it has turned out to be something that I am very good at and (usually) enjoy a great deal.

Programming Languages

I am versed in the following programming languages:

C / C++

Like many software developers, I have spent much of my career writing in C / C++. I have a love / hate relationship with the language. When it's good, it can be very good, but it has a lot of pitfalls and quirks that can bite you in the next moment. I have written several large C/C++ applications encompassing several hundred thousand lines of code each.

Tools:

Javascript

I have written a variety of web applications and web sites using Javascript ranging from simple utility functionality of a few hundred lines to large, highly structured web applications of 50,000 lines or more.

Tools:

PHP

I have written the back end web services for a number of applications using PHP. While PHP is not considered the most elegant language by any means, it gets the job done.

Tools:

Delphi / Pascal

Early in my career (early 1990s), I wrote quite a lot of code using Lightspeed Pascal for the Mac and Delphi for Windows. I know it's heresy to admit this but I'll come right out and say that I consider Delphi to be a fine, well structured language with a set of solid, high performance development tools. It's a pity that these fine tools fell out of fashion.

Tools:

  • Borland Delphi 6

OMAR

I have written hundreds of thousands of lines of simulations and utilities in OMAR, a high level scripting language of my own design. OMAR is similar to Java in concept and structure but with an improved feature set and syntax.

Tools:

Portfolio

Hypercosm

Hypercosm is a software package that I developed in 1998 for creating web based 3D simulations using a sophisticated high level scripting language called OMAR for "Object Oriented Modeling, Animation, and Rendering". Hypercosm was used and distributed by Hypercosm Corporation and Hypercosm LLC from 1998 until 2011. Hypercosm employed up to 35 people and had offices in Madison, Wisconsin and San Jose, California.

The Hypercosm set of tools included the following software packages:

  • Hypercosm Studio - a Windows based IDE that was used to create 3D simulations using the OMAR scripting language and to compile them into web deployable 3D applets.
  • Hypercosm Player - a web browser plug-in that allowed the end user to display interactive 3D simulations inside of any standard web browser.
  • Hypercosm Teleporter for 3ds Max- an exporter for 3ds Max that coverted 3ds Max models and animations into web deployable Hypercosm simulations. This software also included a set of real-time and email based collaboration tools.
  • Hypercosm Teleporter for SketchUp - an exporter for 3ds Max that coverted 3ds Max models and animations into web deployable Hypercosm simulations. This software also included a set of real-time and email based collaboration tools.

I wrote the scripting language, the compiler, the interpreter, the modeling system, and the renderer and I had help writing the Windows integrated development environment (IDE) and exporters. Hypercosm was used for almost 15 years to build a myriad of simulations for NASA, the U.S. Air Force, Army, and Navy, for the Department of Transportation, the New York Times, Cisco Systems, and for many other companies and organizations, large and small. It was used to build training simulations for NASA astronauts including a trainer for assembling the COLBERT treadmill aboard the International Space Station. It was used to build educational simulations of the New York Times web site. The built-in physics engine was used to build helicopter simulations complete with weather effects for the U.S. Navy. Hypercosm was an extraordinary software package that is in many ways still unsurpassed in its capabilities. If you'd like to use Hypercosm to build your own interactive 3D simulations, you can still download the Hypercosm software from here.

Megahedron

I developed Megahedron in 1996 as an enhanced version of the Microcosm 3D rendering and simulation software (see below) that ran on Windows instead of DOS. It was used as both a rendering tool using a photorealistic ray tracer and shading language and also as a simulation tool using a sophisticated 3D scripting language for specifying 3D interactions, animation, and physics.

Megahedron included a simple integrated development envioronment (IDE), making the process of writing and running scripts quicker and more convenient than using the command line. Megahedron was available for both Windows and Linux and also included a distributed ray tracer that allowed you to render images on multiple computers simultaneously. Megahedron was sold for $99 by Syndesis Corporation and was sold at Siggraph 1996 in New Orleans.

Microcosm

Microcosm was an MS-DOS based software package that I developed in 1992 for 3D rendering and simulation. It used a high level interpreted scripting language called "SMPL" for procedural, modeling, animation, and rendering. This scripting language included extensive built-in support for 3D graphics and simulation.

Microcosm included a true interpreted shading language, which was one of the first shading languages implemented at the time aside from Pixar's RenderMan software. The renderer included a ray tracer and a Phong shading scanline renderer for high quality rendering as well as Gouraud and flat shaded renderers for real-time rendering and interactive simulation. Microcosm was used by engineers, architects and educators. A few hundred copies were sold (for $200), including about 50 copies to the University of Misissippi for teaching science.

 

ART (Abe's Ray Tracer)

Abe's Ray Tracer was a 3D rendering software package that I wrote in 1989-1990 and ran on UNIX systems running X-Windows. It was similar in style to POV-Ray, using a simple declarative scene description language of my own design. In addition to writing the software, I derived all of the mathematics used in the ray tracing software (primarily ray intersection and lighting model calculations). At this point in time, ray tracing software as cutting edge and rendering a single image could take hours or days. One image took an entire week to render on a 25 MHz Motorola 68000 processor. Later versions of the software used parallel rendering techniques to run the software simultaneously on multiple computers. A friend (Mark Spychalla) helped me to write and release a parallel version of the software called XDART. We used to run the software across hundreds of computers at the University of Wisconsin. This worked brilliantly until a friend tried to render a massively detailed fractal mountain landscape which overloaded and crashed dozens of machines. We were busted. Still, this software allowed us to create dozens of renderings which were used to promote the Undergraduate Projects Lab (the UPL) and the UW Computer Sciences Department. In 1991, the cover of the UW computer science department brochure was covered entirely in my ART computer graphic renderings.