At the moment, I have a freely-moveable camera, and it runs a VNC client which will render the picture to a texture. Mouse and some keyboard interaction with the VNC client is possible. Note that I do have some basic code written which can be reused later, such as a quaternion library for 3D rotations; a 3D transform class to encapsulate rotation and translation and make it easy for the programmer to interface with these; and ray-triangle collision detection.
I'm currently working on loading simple models from an XML-based file format, which I'm making up as I go. At the moment, it can load polygons, spheres, cylinders and disks. Different rendering styles can be specified for each object. Transforms can be applied to objects. Points, colors, faces and models (groups of objects) can be created and named outside the scene, and then reused later by name within the scene. Models can be nested, and transforms are applied to all objects and models, so you can have a heirarchy of transformed objects.


