This site began with some fiddling with Microsoft's Direct Animation SDK. Knowing very little about 3D graphics I began to experiment with MS Direct3D retained mode which handles all the mathematics and rendering issues. Spinning cubes are all very well but I soon wanted a more meaningful project to work on, what better than my favourite game of the 80's. I lost more hours playing Elite on my Commodore 64 than any other game, so some sort of tribute was in order.

 I lifted the original ship geometry definitions from Ian Bell's web site and set about converting them to .X files as used by Direct3D. When the first model was finished and viewable I noticed that the edges of individual faces weren't distinguishable and that the Gouraud shading made the model look smooth and rounded unlike the angular originals. After a bit further reading I discovered that the Gouraud shading algorithm averages out the shading across faces that share vertices. To create a more angular looking model the solution seemed to be to duplicate vertices, making them unique to a mesh face. The pair of Cobra's above show this; Shared Vertices model on the left, Non-shared Vertices model on the right.

To create the non-shared vertices models requires a bit extra work duplicating vertices, so I wrote a little utility to modify existing .X files to make vertices non-shared between mesh faces. At the moment the various object models are a mixture of smooth and angular looking. I then converted all the .X files from ASCII to binary format purely in the interests of fast loading, the whole web site is less than 100K. Apart from the rotating ship, the rest of the site is just simple text, again also for faster loading of the page. I may get around to adding fancy graphics and navigation bars later. 

My original Commodore 64 version featured line drawn ships, so I've used some artistic license and chosen the ships colours and surface finish. Making adjacent faces different colours also helps define the shape. I'm currently working on using image maps to create a more realistically detailed craft. Some of the craft have retained their aerials/guns, because they look strange without them.

If you'd like to comment (good or bad) or offer any tips for improvement contact me at neil@neilwallis.com

A new version of this whole site, which uses a Java applet instead of a DirectX control, can be found here.