Since Modlight is a school project, we couldn't do anything. We had choice between C and C++, and we choose the old one: C. We thought that learning C before C++ is better. The project has been developped on Linux comupter's. We've been willing to do great things under UNIX, which is too often told to be for dinosaurs...
The four view are using the same tool: OpenGL. It is obvious for 3D view, but it may be hard to understand for the others.At the beggining, we were looking for a tool do draw 2D viewports. We thought that something like Gnome canvas would be great.But when time comes to do the views, the man who handles the 3D stuff says that it would be easy to do with GL,...then he did...
In order to work with GTK (see below), we use a special thing called gtkglarea. It is a GTK component which can display OpenGL. It is used as a glut replacement.
We use GTK+ for this. It is an API developped for the GIMP. It is now a project by itself, and one of the most used GUI under X-Window. There is GTK for most programmation language, and even if if is an object API, in old languages like C.
Those use the dl library, which comes with GNU ld. They are in ELF format, so that this part should not be too difficult to port under Solaris, BeOS, *BSD...They are not fully useful yet.
Flex did the job...Flex is GNU's version of lex, a great UNIX tool to build parsers. Our parser cannot parse all POV files for now, he sometimes have problems on stuff we do not handle in the modeller.
The datas are stored in tree-form. The tree is a XML tree, which really simplifies the saving and loading operations. Then our data files are XML files. We use libxml for building, managing and storing the tree.
This was made for providing to user more control on the scene. He will be able to see changes in generated POV files "LIVE"! We use a very cool GTK widget to do this: GtkEditor.