____________________________________________________________________________ T H E A D V A N C E D R E N D E R I N G T O O L K I T ____________________________________________________________________________ For more information see http://www.cg.tuwien.ac.at/research/rendering/ART/ ____________________________________________________________________________ INTRODUCTION ART - the Advanced Rendering Toolkit - is a collection of program libraries that provide a wide range of functionality suitable for graphics applications. The ART libraries do not deal with the user interface, they provide classes and methods starting with primitive graphics objects like vectors, points and matrices up to classes that make it possible to define complete three dimensional scenes and a number of different methods to manipulate and render these scenes. MODELLING SCENES ART comes with its own scene description language that is based on Objective-C. A scene description in ART contains the complete information about geometry, surface characteristics and illumination of a scene. Geometry is specified by combining primitive objects like spheres, blocks, and cylinders, surface characteristics are specified by mixing primitive surface characteristics like diffuse reflection, or perfect mirrorlike reflection. RENDERING SCENES ART currently comes with a highly efficient raytracer that is comparable in speed with other available raytracers. In addition to that research renderers have been added that allow the computation of complex lighting effects such as caustics and indirect illumination. USER INTERACE ART and its rendering tools are entirely command-line based. Scripts are provided for convenient operation using standard UNIX command line conventions. COLOUR IN ART It was designed to support multiple colour systems making it possible to accurately render spectral data. Currently the following colour systems have been implemented for ART: - RGB: RGB tristimulus colours - CIEXYZ: standardized trisimulus colours (CIE 1931) - Spectrum8: 8-band spectra (50nm bands, 380nm to 780nm) - Spectrum16: 16-band spectra (25nm bands, 380nm to 780nm) - Spectrum45: 45-band spectra (10nm bands, 380nm to 830nm) - Spectrum450: 450-band spectra (1nm bands, 380nm to 830nm) ART can be compiled for any one of these colour systems, and will then perform all computations involving colour in this chosen colour system. All input colours can be specified in any of the 6 colour systems above, or (preferably) as piecewise linear spectra of arbitrary precision. ART will convert all input colours into the chosen colour system upon reading its input. This conversion has been implemented to be as accurate as possible given the limitations of the chosen colour system, i.e. it is performed by computing the exact inner product of the involved spectral response functions. STRUCTURE ART was designed to be highly modular by rigorous use of object oriented implementation techniques. Thus it is easily possible to extend ART in various ways: - adding new geometric primitives - adding new surface characteristics (bidirectional reflectance distribution functions) - adding new colour types - adding new rendering methods - adding new scene description languages - adding new image types - adding new ray tracing acceleration methods ART has been split into a number of libraries to facilitate this modular software structure. AVAILABILITY The ART libraries will be put into public domain under the GNU Library General Public License as soon as its core structure has been fine-tuned and tested. ART is a crossplatform rendering system and compiles on all systems with the GNU cc compiler and a working GNU Objective-C runtime (included in the GNU cc standard distribution). The current release of ART has been tested under: LINUX (intel), Irix (mips), and NEXTSTEP (intel). Previous releases have been known to run under LINUX (64 bit alpha), Solaris, HP-UX and Developer Releases of Mac OS X Server. AUTHORS Robert F. Tobler Concept Software architecture & design Kernel, raycaster, ray tracer, BRDF, and radiosity implementation Alexander Wilkie Software architecture Kernel, radiosity, colour system, and tonemapping implementation Jan Prikryl Distribution ray tracing, constant radiance, and tonemapping implementation COPYRIGHT (c) 1996-1999 Vienna University of Technology. Institute of Computer Graphics http://www.cg.tuwien.ac.at/ ____________________________________________________________________________