Some History of Realsoft
Ellipsoids and hyperboloids boolean operated in 3D space

Some History of Realsoft

First images on C64 Real3D is the brainchild of two Finnish brothers, Juha and Vesa Meskanen.

The first experimental computer generated synthetic images emerged in 1982, on Commodore 64 and IBM PC computers.

Some of these two dimensional experiments used trigonometric functions and gave the impression of three dimensional volume.

Projecting 3D geometric data on screen This led to the idea to visualize real 3D scenes by represent their geometric data in 3D space, and by projecting the data onto a two dimensional surface representing the screen.

Without knowledge of existing technology everything was invented and implemented from scratch.

BMW wire frame This shows the second 3D animated camera experiment established on Commodore 64 (the first one was a spinning cube, of course). The object had some tens of vertices and the MOS 6510 microprocessor was able to render it with astonishing 10 seconds per frame rate. In order get this phenomenal speed all the rendering routines had to be written in assembly language.

Note: the image does not represent a boat but BMW - a German car.

Shelf with jagged edges The development of the software got boosted in 1985, as Commodore released its Amiga 1000 computer equipped with advanced Motorola 68000 microprocessor. Juha had started his studies at Lahti University of Applied Science, and wrote a 3D CAD program for designing a chair. The software had rather demanding modeler. However, in addition to wire frame renderer, it was also capable of rendering shaded images consisting of planar surfaces. The renderer was based on Vesa's genius idea of simulating light ray-surface interactions to get photo realistic synthetic images created.

This book shelf image was created in 1986 to promote the software to Serlachius Oy - a Finnish company manufacturing kitchen cabinets and furniture. Random dithering methods were used to smear out artifacts due to limited number supported by the hardware. However, it wasn't obvious yet how to solve the problem of jagged edges due to limited image resolution.

Quadrics created with the Lathe tool of Real3D In order to visualize more interesting shapes support for curved surfaces, such as cylinders and cones as well as their non-uniform elliptical versions were added.

Instead of using large number of polygons to approximate curved surfaces exact mathematical representations were chosen instead. Methods for solving intersections of light rays and two dimensional quadric surfaces were developed. Soon all basic shapes like spheres, cylinders, hyperboloids, cones and various type of light sources were supported.

Flower Jagged edges wasn't the only obstacle on the road. The number of equations one had to solve to simulate light interactions with geometric objects increased exponentially with the number of objects. Any real scene took forever to render, even if the ray-surface equations had been optimized to their extremes. The solution to the problem was to project the bounding box of objects to be rendered on two dimensional surfaces, where each pixel represented certain direction in 3d space. If a pixel was not set then there was nothing to trace in that direction. Correspondingly all cpu intensive ray-surface intersection calculations could be skipped for those light rays. First ray-tracing optimization method was born. Amiga's Blitter graphics processor was particularly suitable for creating these two dimensional optimization masks. The next step was to make this optimization system hierarchical. Rendering got speeded up by orders of magnitude.

The flower image was one of the very first images created with the first commercial Real3D version.

All objects in the scene were constructed from quadric surfaces, such as ellipsoids, cylinders and cones.

The next discovery was to improve the image quality by shooting several light rays per pixel, to get a better idea about the geometric data behind the pixel in question. This first super sampling based anti-aliasing method, as it is called today, had a significant impact to rendering quality.

Young Vesa thinking big Vesa played an essential role in the development of the rendering engine. It was Vesas's idea to implement recursive method (called ray-tracing these days), to simulate glass and reflective surfaces. Also the name - Real3D - was Vesa's idea. The first commercial Real3D version was released in 1989 on Amiga. Vesa dropped his university career and started the company Realsoft.

At the time of writing this Vesa no longer have pimples on his face.

Guitar Using basic shapes like cubes, spheres and cylinders didn't provide enough control over modeling; representing a circular hole in a cube wasn't possible even thought the program was capable to represent the both geometric shapes. This led to the discovery to construct new geometrics by utilizing mathematical concept called Boolean Operations. A drilled cube could be represented as boolean operation, namely cube AND NOT cylinder. With such a drilled cube one could then operate any other primitive or boolean operated object. Easier said than done, of course, but a few months later true solid modeler was born. Objects were no longer just set of surfaces but true volumetric solids. For example, a sphere was not defined by a two dimensional surface but a set of points whose distance from the center of the sphere was within the radius of the sphere. In addition of "inserting" new geometric objects into the scene to be simulated, the user could now also use geometric objects to "remove" matter from the virtual universe. The program was finally capable to model complex shapes like this guitar on the left. This hierarchical CSG - Constructive Solid Geometry approach, as it is called these days, is still an essential feature in the software.

The body of the guitar consists of a cube, ellipsoids and three hyperboloids, boolean operated with each other.

Spinning cube animation The first Real3D version shipped also with a few basic animation tools. This is the first published Real3D ray-tracing animation It was shown at Lahti University of Applied Science in 1989, as Juha demonstrated his final examination. The glass cube reflected, absorbed and refracted light correctly, according to the laws of physics. The scene consists of a point light source, an ambien light source, plane, cube and a cone. Two different images were used for painting the geometric objects. Material properties were not assigned to objects via texture coordinates but projected using spatial projection methods.

The output format used was called 'Delta' video format, which Realsoft developed in order to show the rendered animations in real time. The Delta format was bi-directional supporting both loop and ping-pong effects. Realsoft's Delta format worked very well with palette oriented images where the color space was quite limited.

Bump mapping Real3D version 1.2, released 1990, was already distributed in several European countries. This image was created for the CeBit Exhibition the company attended 1990 in Germany. The image demonstrated new volumetric rendering and bump mapping features. Rendering done in Amiga 1000 with 320x250 resolution and HAM (Hold And Modify) screen mode, which offered revolutionary 4096 colors. The candle stick and the body of the teapot was created with 'Lathe' tool. The lathe tool created smoothly connected objects from quadric surfaces (two dimensional surfaces, such as spheres, ellipsoids, hyperboloids, cylinders and cones)

Real3D version 2 was released two years later, 1993. It was a redesigned software with a new source code basis and a new non-linear animation system based on the idea that a moving car consists of two sub objects: a car shape and a motion. It also introduced several other ground breaking features such as cubic b-splines, simulations based on Newton's laws of motion, morphing based animation techniques and blew most of the competition out of the water with its phenomenal rendered output.

glass.jgp Version 2 did not subdivide B-splines to polygons prior rendering but used an advanced approach where surfaces got subdivided on the fly during rendering. It also took full advantage of the multi tasking abilities of the Amiga - allowing the user to continue editing a scene on another window while it rendered!

This is a sample scene included with the first version 2 package - an image which was shown as a cover image in quite a many 3D magazines. Real3D V2 was rewarded with the best software of the year rewards by several magazines.

Motion blur Version 2 introduced also so called Motion Blur feature. This is a frame from a collision detection simulation included with the first Version 2. The image was also used as a cover image for the manual and the box. The collision detection system did not use bounding boxes but used the true shape of objects. Real3D was the first software being able to detect and solve exact collisions between all supported geometries, such as hyperboloids and cubic B-spline surfaces.

E104 gummy bear animation This is the award winning candy bear animation called E104. It was created by a young German student Maria Boeckenhoff, with some help from the devoted beta testers Axel Mertes and Frank Vogt. The name of the animation (E104) refers to a food colorant.

Fish First dark clouds above Commodore were in sight 1993 and porting of Real3D to Microsoft's Windows was started. Compared to true pre-emptive multi tasking operating system in Amiga coupled with Motorola's linear memory space, it was actually quite a shock to discover what a piece of crap the first Windows operating system versions were. Not even dynamic memory allocation worked for anything but trivial tests. Luckily Microsoft's new operating system Windows NT, and Digital's new and fast CPU model gave us some hope for the better future. Windows port was finally finished 1994. This image was created by the beta tester Grant Neisner, Reflect IO and was used as a box cover image.

Griffon Version 3 release 1995 continued the v2 based development line. The feature set kept growing and it introduced quite a many new exotic features, such as the animation drag method and animated shrink wrapping, just to name a few. This is the V3 box cover image created by Grant Neisner.

Version 3.5, released 1996, was the last version based on v2 architecture.

Knife Realsoft had started a new major development project "V4" around 1994. It was a major rewrite and introduced more features than any other version before. It was based on a new in-house platform independent application programming interface, included features like Rational Subdivision Surfaces, Non-Uniform Rational B-Splines, and Visual Shading Language to provided the users with unlimited control over rendering process. Realsoft continued in its unique path to everything by itself, rather than copying ideas from other companies (let alone using the code other companies had implemented). The user base had to wait quite a while until the result of the ambitious project finally matured enough for a new product release. Version 4 was released in 2000. Tim Borgmann, a highly talented and recognized world class designer and artist, was responsible for the box and user manual design.

Abstract The Subdivision Surface modeler in Realsoft was generally reviewed one of the bests, if not the best on the market. Also the Visual Shading Language was regarded as the most powerful shading system out there. Most reviewers rewarded the software with 'best value for the money' award.

Version 5 was released in October 2004 and the technology was also OEM licensed to numerous other software vendors.

This is one of the images in the abstract series of Tim Borgman created in Realsoft 3D V5. The images were chosen into the respected ExposŤ 2 book showcasing the finest digital art from authors representing the best of the best in digital art. Tim's images received the Abstract and Design 3D Master Award.

Pixel perfect Version 6 was released at the end of 2007. V6 introduced powerful parametric tools for plant modeling and building construction. It also improved rendering speed. The new digital printing technology was used for the updated user manuals.

Juhas examination
Real 3D precursor
First Real3D manual
The very first Real 3D manual for the Finnish market.
Real 3D V1.1
Real3D Version 1.1
Real 3D Version 1.2 manual
Real3D Version 1.2
Real 3D V2
Real3D Version 2
Real 3D Version 3
Real3D Version 3
Real 3D V4
Real3D Version 4
Real 3D Version 5
Real3D Version 5
Real 3D V6
Real3D Version 6