The Lightflow Rendering Tools are a powerful set of tools
made to create photorealistic images from three-dimensional
scene descriptions.
These tools implement the Lightflow Rendering Interface,
an object oriented programming interface to synthetic rendering,
which provides a common environment and description language to
treat light distribution in three-dimensional spaces.
The Lightflow Rendering Tools are actually implemented as a standard ANSI C++ library, since this language has the necessary class-based control structures together with a fast code production and a good popularity. However the interface is not based on C++, but it is rather represented with its formalism. Any class based language could be used instead.
The aim of the Lightflow Rendering Interface is complete control over geometry and lighting,
that is to say appearence. This is why it adopts an object oriented approach: the rendering
realm is composed by abstract classes, the main of which are objects, light sources and materials.
All these class entities are not well defined, but they represent the structure and functionality
of each instance that belongs to them. For example objects are made up of surfaces which have some
materials associated to them, and materials are procedures that control the appearence of each surface
point in relation to the light that reaches it.
Lightflow allows to describe in an efficient way new instances and subtypes of those fundamental
classes, giving to them a consistent and flexible interface.
Flexibility is actually the main source of power of this innovative system that will mantain
its consistency even after major developments and changes in the Computer Graphichs world.
This manual describes a Python module that will let users
take advantage of the Lightflow Rendering Tools power
without having to acquire a deep insight into them.
This means it is only a partial wrapping of the underlying
interface, which does not provide access to all of its
functionalities, such as extension, but that makes possible
the description of the most complex scenes using the built-in
tools.
Python is an effective high level object oriented programming
language that has been choosed because of its simplicity, that
allows non-programmers to learn it in a few days, though
guarantying an immense flexibility to the expert ones.
So if you do not know Python do not despair, take its manual and
read it carefully, and you'll see that things will go on by themselves.
This manual is aimed to teach how to use the Lghtflow Rendering Tools, while it is not meant as a three-dimensional computer graphics reference book. The reader is supposed to be already expert in this field and to have some acquaintance with object oriented programming, if not with python. As regards the necessary mathematical knowledge, the reader should have at least familiarity with vectorial math, that is to say geometry. If any of these requirements is not satisfied he could consult one of the many texts on the subjects before starting reading this book.
Next