3D Dissolve is coming back...

The moment I laid my hands on HTML 5 and the canvas element, I knew exactly what I would attempt next. These Christmas days I managed to getaway to a small village in Northamptonshire with the family (now we are three...) and had some time to convert that tiny 3D engine that I had written back in March 1996 in Turbo Pascal 7. That was 14 years ago! Here's the file header :-) LOL:

{ Obj3d v1.0 written by K.Symeonidis }
{ (c)1996 by CyLog Software }
{ }
{ March.1996 }
{ }
{ This is my first attempt for a fast }
{ 3D Graphics engine }

With Obj3D I wrote a couple of demos in TP7, then converted it (v1.50) to Delphi and with it I wrote a few more demos for windows this time. In 1997 we wrote with Ioannis Tsoukalidis the "3D Dissolve" screen saver which proved to be quite popular on the baby-internet. Dissolve managed to get a couple of updates since then, the latest version running happilly on my machines throughout the naughties ('00s).

Back to my canvas and HTML 5 enthusiasm/obsession and my Christmas holidays...

I converted Obj3D, then wrote the example "Random Dissolve Sphere" (the opening 3D object in Dissolve) and put the camera and world into action!

A couple of bugs later and I had the first glimpse of my 3D engine this time running on the highly optimised V8 Google JavaScript engine on Google Chrome.

On my laptop Chrome managed to get around 47fps which is quite decent. Firefox 3.5 manages just above 40fps. The code is still very premature and I expect the rate to drop a bit after implementing all the features. However, I'm optimistic I can squeeze some power out of the old code by optimizing for the canvas element.

Surprisingly Opera 10.01 on my desktop PC (Core2Duo 2.12GHz) goes up to 53 fps, but the fastest I've seen so far is on Safari on my MacBookPro (Core2Duo 2.66GHz) with 55 fps! Given the CPU frequency Opera seems to be the quickest JS engine at the moment.

Even on the iPhone 3GS it seems to be running with an awful 4.5fps, but still viewable.

Credit to the JavaScript engines out there (Chrome, Safari, Opera, FF), these guys have done a very good job. Spot the missing browser vendor... :-\

For those of you eager to have a look, here's a link to preview 3D Dissolve JS.

Comments welcome.

Merry Christmas and Happy New Year/Decade!


Popular posts from this blog

GetDIBits vs. Scanline vs. Pixels[] in Delphi Bitmaps

Installation of Ubuntu 17.04 (Zesty Zapus) on VMWare Workstation

CyLog Raster Fonts for Linux