Posts Tagged RealiMation

RealiMation from November 1997 to September 1999 @ Datapath (part 4)

Previously: RealiMation the Datapath Years, Part 3.


We started our long association with DaimlerChrysler (as it was at the time) while we were still at Datapath. At that time they “only” wanted some visualisation software to take their CAD models from MicroStation and display them so they could be viewed in real time. Up until that point they were still making physical models of any new factory buildings and any changes would take days and many DM (don’t forget this was pre Euro) to do. So the primary goal was to reduce the costs associated with generating visualisation models. We had to undergo a lengthy selection process, filling out questionnaires, performing tests such as importing models and displaying them etc. We passed each test very easily.

It was only when more people within DaimlerChrysler saw the models in real-time that they started to think of other things they wanted to do with the software. We had started work on what would eventually become mantra4D by now and had already decided that it would a modular system. By adopting this architecture we were able to take an evolutionary approach to developing modules. This meant that it was much easier for us to meet DaimlerChrysler’s changing requirements than it would have been with a single monolithic application.

Version 4.3 of the toolkit was released in early 1998 and version 4.4 in December 1998. I don’t have any details on what went into these releases.

January 1999 saw the release of version 4.43. Primarily a maintenance release this new version also included some new features in the STE, RealiStorm and the SDK. The release notes from the web site are included below as indication of the changes. It was a release to ensure the software would work with the then latest version of the Microsoft Visual C++ run time libraries, version 6 had just been released. There were a number of issues, not least that property pages were handled differently from version 4.2 and had to be properly initialised – a problem which took a little while to track down.

STE / RealiStorm

  • You can now display action node information inside RealiStorm by clicking on the action in the Lister
  • The STE is compatible with Microsoft Visual C++ v6.00.

SDK – New functions include:

  • New 2D function RT2DTextExtent calculates the extent of a text string before it is displayed on a channel.
  • New network function RTInqNetwork has been added to RealiNet for inquiring the current network. In a non-RealiNet environment, this function returns NULL
  • Updates to display drivers. The Direct3D driver now uses the same BDF font mechanism for displaying text, bringing it into line with the other display drivers. This change applies to both window and full-screen versions of the driver.

Version 5 developments

We started work on version 5 of the toolkit during this period. Version 5 was a radical change in many ways. The main change was the removal of quadrilateral faces from the geometry structure. They always had to be broken down into triangles for display, but having them meant that there was an overhead in the storage and manipulation of models, the prime one being code to check that after any manipulations quadrilaterals were still flat and to break them into triangles if they weren’t. Having models made up of all triangles meant that we could have structures such as tri-strips and tri-fans, which in turn enabled us to use more efficient ways of sending data down to graphics cards. It did cause one problem years later though. After RealiMation was finally shut down Lanner came to me with a problem where textures weren’t being mapped correctly. It turned out be because the original image hadn’t been perspective corrected. When the texture was applied to a quadrilateral this happened automatically, but when it was applied to a pair of triangles the correction didn’t happen. I wasn’t able to fix the problem in the code – I had to tell them to fix the image.

We added the concept of API plugins which were devised as a way for us and other developers to be able to extend RealiMation’s functionality or enable new functionality on an application by application basis. We added a number of callback functions to key points in the libraries and then if that function was implemented in the API plugin it would be called, performing some action. One such was the dynamic level of detail plugin which smoothly and continuously changed the number of faces in the model rather than switching between discreet versions of the model.

The new playback control was another of my developments. I based the interface on a VCR remote control, using many of the same icons as I could. I felt that the familiarity people had with VCRs would transfer to the new control. By this stage I was getting involved in more and more aspects of the software, from application right down to the libraries. This knowledge would stand me in good stead in the years to follow.

A summary of the version 5 changes:

  • New playback control.
    • Forwards and backwards.
    • Fast forward and slow motion – speed increased or decreased in factors of 2.
    • Time slider – use to pick up the current time marker and slide forwards or backwards, or use the arrow keys to control time.
  • New geometry structure:
    • Removal of quadrilaterals.
    • Adding triangle strips and fans.
    • Multi textures.
    • Point, normal, colour and texture point tables. Allows points, coordinates etc. to be shared, thus reducing the memory footprint.
  • New actions – virtually anything can be animated.
  • Cells and Portals.
  • API Plugins.
  • References.

Next time: We go it alone

© 2010 – 2015, Chris. All rights reserved. If you republish this post can you please link back to the original post.

No Comments