The RD (rendering description) system is a framework for creating and comparing rendering engines.
A common exercise in many introductory computer graphics classes (at least in computer science departments) is the creation of a software renderer. This gives students an opportunity to put into practice the algorithms that they are learning. The development of the renderer usually continues through the entire length of the course.
Another common exercise is to use the renderer to create unique images which are shared with the rest of the class.
There are usually two unintended side-effects of this approach:
The RD system combats these problems by providing a standardized scene description language and an object oriented framework for parsing the language and creating a viewer.
The RD scene description language draws heavily on Pixar's RenderMan for inspiration with a few elements of OpenGL thrown in. There is no shading language associated with RD. (Yet!) The language allows basic camera description, graphical object placement, surface material description, light placement, stored/instanced objects, and multiple images (animation).
A detailed description of the language is available.
C++ source code is available for the RD parser and rendering
framework. The parser is integrated into a program called
rd_view
which reads an RD scene description file and
creates an image from it.
Using the source code requires access to the X window libraries. X is used solely to handle the vagaries of screen devices. X is not used to do any rendering. Backends for other windowing systems are under development. The source code also requires the use of the C++ STL, which is not usually a problem these days.
The code was designed for Linux systems, but is known to compile using Cygwin in a Windows environment.