3D surface

Bit of a description

Hi there. This is my first project on sourceforge and also happens to be a re-write of my first foray into 3D programming.I got the idea from a mate of mine at Uni (Russ Anderson, if I can remember how to spell his name!) He mentioned that his brother had made an application that worked like a sheet and allowed effects to be placed upon it real-time. As I was looking for a small project to start looking into 3D programming, I decided to write my own version.

The current version (0.2) allows a set of effects to be applied to a surface (imagine a rubber sheet with weights on or someone pulling a point of it upwards. For a more visual description, see the description page.) The project is written mostly in C (structs rather than objects) but some of it has had to be in C++ (notably the Camera class.) It was written for the win32 using Microsoft Studio .NET, not as a consious design descision, just becuase that's what I happened to be using at the time. I would like to port it to Linux but haven't the time yet.

Brief history

The first version didn't use any kind of API - it just had a static camera and the points just moved vertically up and down the screen. There was very little interaction and it generally was rubbish, it didn't even warrant a version number. Version .1 was more advanced, I implemented an openGl renderer (nothing special, no vertex arrays etc . I used only glvertex3f calls.) Obviously, this didn't run quite as fast as I wanted but at least it could be flown around and viewed from any angle. The effects couls also be applied using mouse 'picking.'

The current version (ver 0.2) is another re-write of version 0.1. It has less functionality than the last version but runs 4 times faster due to experience with openGl. I have also re-written the effects routines. Now, all of the effects are dlls that are read on startup. They all follow te same API so the spftware is easy to extend.