This project is no longer maintained and a more recent version can be found here.
Swing is a pretty good GUI toolkit but it is rather outdated, and this shows when building complex GUIs. As such, I'm moving on to Qt/C++.
Huh, Qt/C++? That's too radical a change. Why not switch to JavaFX? Well because my primary concern was writing a platform-agnostic application and it just so turns out that Qt offers this possibility. Secondly, I'm much more comfortable programming in C/C++ (go figure...). Lastly, and most importantly, there's no overhead introduced when writing C++ code as opposed to the Java bytecode-to-virtual-machine pipeline. This lack of overhead is a plus since Clockwork is not hardware-accelerated, which means that it should run faster in the C++ implementation.
Clockwork is a 3D software renderer written by myself to understand the nitty-gritties of what goes into rendering 3D objects, from raw input data to pixels on a screen.
This is a work in progress so a few bugs may run wild until they get ironed out, although I assure you that none of them will attempt to find the answer to life, launch nuclear ABMs or, more realistically, destroy the content of your hard drive.
Check out the software documentation for a detailed description of the application's features and their implementations, as well as what you can expect.
To compile and run this software, you will require a Java Development Kit (JDK) and Apache Ant installed on the target computer. Simply launch ant without any arguments and the provided build script will take care of the rest.
The folders provided with this software are structured in the following manner
- assets contains icons and sample models.
- doc contains research, design and implementation documentation, as well as the Javadoc.
- lib contains third-party libraries that this application depends on.
- src contains the source code tree.
- tst contains unit tests.