CoolRay is a system for generating photorealistic images out of a mathematical description of a scene. CoolRay was designed using sophisticated object oriented methods. Its language is not only description language, further more it provides constructs for programming like loops and functions. Therefore it is possible to create complex scenes very easily.
CoolRay is based upon ImageLib and RayTrace. ImageLib is a project to incooperate all the bitmap libraries like libPNG or libJPEG. Marcus Bürgel started this project in 1994 on a 486DX2. Since 1999 ImageLib is also free software and may be distributed under GNU LGPL.
Raytrace is a free raytracer for windows without support for a language. It uses a graphical representation of the scene graph. RayTrace was originally a student´s project at the Georg-Simon-Ohm Fachhochschule Nürnberg. The initially core of the raytracer was written by Stefan Michel whereas Marcus wrote the user interface. He did also a great job by removing all the major and minor bugs (...and there were quite a lot!). The project RayTrace was cancelled after finishing the class. But the idea was born to have a portable and language based version of the RayTrace.
The project was born in August 1998. At that time there was no name for it. It was called RayEngine in the mean time. Marcus Bürgel removed all the Visual C++ stuff from the original RayTrace source and wrote a first version of the scanner, parser and runtime engine. A Windows client which communicates via DCOM was also implemented. This client is also able to debug the Virtual Machine.
After Marcus' and Stefan's theses were finished, the project was reopened in April 1999. Major enhancements to the parser were done by Marcus Buergel. Stefan Michel focused on porting the engine to Linux. A first version of a client with the QT library was developed. Also a CORBA client/server version was devloped. An operating system independent layer (OCore Library) was introduced to remove system specific implementation from the CoolRay Core code.
In Winter 2000 a port to Solaris was done to support also the 64 bit plattforms. The new version now supports multi-threading. As the corba implementation did not support multi-threading, it was not longer supported. In Spring, a major redesign of the hole directory structure and the makefiles were done. There were no real progress during Summer and Fall 2000.
Negotiations with the FSF and Richard Stallman about a new name in Summer 2000 did not have any result. In January 2001 the project got the name CoolRay. In February 2001 the team released the first public version of CoolRay. Again the directory structure was redesigned. OCore is now part of the project.