BERTO is an experimental ray tracer implemented in the OCaml programming language (http://caml.inria.fr). Ray tracing is a well known means of computer graphics to render digital images of virtual scenes; it is based on the approximations of geometrical optics, that is, the propagation of light in the virtual scene is described by light rays and the interaction of light rays with the material of objects. BERTO uses physically based approximations wherever possible and is strongly inspired by pbrt (http://www.pbrt.org).
The primary goal of this project is the implementation of a physically based ray tracer in the functional programming paradigm. OCaml has been chosen because it facilitates a functional programming style and provides an object oriented layer which helps to develop a suitable object model. Moreover OCaml is freely available and comes with a compiler that produces native machine code.
BERTO is distributed under the terms and conditions of the GNU General Public License (http://www.gnu.org/licenses/). The latest snapshot of the source code can be found here. It compiles with OCaml V.4.01 (or higher). Go to the gallery to view some demo renderings (Gallery).
Features of the current version of BERTO include: