In 2007, .10gine (pronounce: tengine, like „engine“ with a „t“) was developed as a Java based 3d engine and used within the 3d demo a place to bee as well as in the Java version of the game react!TOWER. In 2008, a group of students planned to port .10gine from Java to C++, thus the name „.10gine++“.
The reasoning for the porting effort was the fact that in Java, most of the CPU time was spend within vector calculations, which were done using custom vector- and matrix-classes. In fact, most of the time was actually spend allocating and de-allocating millions of short-lived vector objects, and accessing those small pieces by reference added even more to the complexity. While it is impossible to control the memory mangement or pass objects by value in Java, C++ has the needed flexibility by means of custom allocators.
Most of .10gine was sucessfully ported to C++. Due to time constraints and initial problems with Microsofts interpretation of C++ templates, .10gine++ has not been finished in time. Even though there is no visually appealing output has ever come out of the C++ port, it’s approximately 80% finished compared to the Java version.