Control and Automatic Steering of Hierarchical Algorithms
[Work Package 3]
Previous work in this Work Package underlines the need for multiple
refiners corresponding to the application that uses radiosity.
4 groups of users were defined:
- Virtual reality users.
- Lighting engineers.
- CAD users.
Each user group has different needs. For example, Lighting engineers are interested
in a precise solution in what concerns the energy levels, and thus
they need to minimize the error of the radiosity solution.
On the other hand, virtual reality users,
are more interested in high-quality soft
shadows rather than a low error solution, in a precomputed solution context.
Since the precision of the radiosity solution
depends on the refiner used, the refiner structure should be as modular
as possible, in order to efficiently create new algorithms.
We decided that a graph representation of the refinement oracle
is advantageous, due to its modularity. The graph is composed of tools
(questions) and arcs (answers). The refinement process
can be seen as a discussion between a set of tools and the oracle.
At the end of the discussion the oracle makes its decision depending on
the different answers.
Tools are organized in four main classes:
- Energy-related tools: Compute the energy transfer or classify the
energy distribution on the receiver.
- Geometric tools: Geometric are very similar to energy-related tools,
but treat the problems where energy is not taken into account (for example
one of these tool can decide wether two surfaces overlap).
- Visibility Tools : Classify the visibility between the emitter and
the receiver, and compute the visibility factor between them.
- Action tools : Thoses nodes are the decisions of the oracle. The
leaves of the graph are only action tools.
Advantages of the graph structure
- The graph structure is very convenient and extensible, thanks to the creation of
new nodes. For example, tools referring to the time dimension can easily be
added to this structure.
- The creation of a new refiner can be compared to a "lego construction", linking
nodes to others.
- Debugging a refiner, becomes much easier using visualisation, tests, and
automatic graph verification.
- Once a graph has been specified, an interface is automaticaly generated.
- Parametrisation can be realized by the interface or by computation, depending
on the need of the user.
The results of this work package are presented in the deliverables.