Analytic test

CUBE


This test was proposed by us in our previous work ("4.1 Simple scene: an empty cube", [Kho96]) to evaluate accuracy of diffuse-diffuse energy transfer.

The scene used for comparison is simply an interior of a cube (10x10x10 m) with one point light source at its center (ref. to Figure below). Luminous intensity of the light source is equal to 50000 candelas that creates illumination level 2000 lux at nearest point on wall. The wall material is white with diffuse reflectivity 2/3 so that indirect component takes a great part in whole illumination.

Due to symmetry all the cube faces are equivalent. We have chosen several points on the cube face where theoretical results are compared with results produced by the systems being investigated. Although the scene is very simple, the exact analytical solution for illuminance distribution for it seems to be impossible. We used a combination of Monte Carlo simulation and direct numerical integration of the rendering equation to get accurate estimates of illuminance in a few selected points.

Fig. An empty cube.

Reference data

We analyzed luminance in several points on the cube face. These points constitute uniform 5x5 grid on the whole face. Due to symmetry there are only 6 different points (they are marked A-F in Figure); they are presented in Table below in local coordinates system: point (0, 0) is the face center, face edges have one ±1 coordinate. Below "semi-theoretical" luminance values for these points are presented. They are computed in the following way. At first we ran Monte Carlo simulation to get luminance distribution in cube faces. Then illuminance of each point was computed by direct integration of the energy transfer equation. This equation is equivalent to the rendering equation [Kaj86], for our case it can be written as:

where

  Illum(p)  an unknown illuminance at some point p;
  Lum(q)  a luminance at point q;
  Omega integral spans over all surfaces at scene;
  Alpha, beta angles between the surface normal at point p and q and the segment connecting points p and q;
  r(p,q)  the Euclidean distance between p and q;
  dA(q)  the differential area element at point q.

A special trick was used to avoid singularity of this integral at the points lying on cube edges (the last 3 points in Table below).

point coordinate
(x,y)
luminance
(cd/m²)
comment weight
A (0, 0) 892.8 Face center 1/25
B (0.5, 0) 768.7   4/25
C (0.5, 0.5) 686.6   4/25
D (1, 0) 565.1 Middle of edge 4/25
E (1, 0.5) 522.4   8/25
F (1, 1) 388.4 Cube corner 4/25

Table. The theoretical luminance values for the cube.

Experimental results

The "Cube" scene was used for comparison of the systems in our previous work. Now we compare newer versions of the systems, and also we've changed the accuracy measure. It is because we've found a drawback in our previous method of simulation accuracy estimate for "Cube" scene. The reason for the drawback is that we compared simulation results in each point separately. The result in one point is expressed by a scalar value, and as a result, if a simulation system gradually changes its estimate of this value from, say, underestimate to overestimate, then at some intermediate step the estimate may happen to be very close to the theoretical value (that will be mistakenly recognized as an indication of high accuracy of that system) while continuation of simulation gets worse results. Such situation actually occurs in previous report for Radiance rendering in one point.

To avoid such possibility it is necessary to not use difference of scalar values as an accuracy measure. Now we use instead distance between some distributions, involving many points. In such case an occasional coincidence becomes rather unlike. So, it is better to combine differences for all 6 points for which theoretical values are computed in previous report into a single error estimate (say, we can use the RMS average of the 6 differences). Each point has some weight corresponding to the count of points of the same type on cube face.

All calculations were performed with most accurate settings (Higher Quality Wizard setting was used for LVS, fine geometry mesh subdivision for Inspirer). The relative values are adduced on the graph:

This graph has large enough relative range on Y, so it is presented in logarithmic Y scale. We used two Inspirer's modes in this test: with filtering of illumination maps and without filtering (referred as "unfiltered"). In our assumption Inspirer's filtering may improve accuracy at initial stages while finally (when non-filtered data become accurate enough) it should switch off automatically. This assumption is confirmed by results.

The results show that LVS achieves accuracy error in 2.8% for CUBE scene 10 times faster than Inspirer. It demonstrates undoubted progress with simulation accuracy in new LVS version (see our previous results for LVS 1.2.4). In the same time accuracy of the simulation is still limited - LVS stops the simulation on 6-th minute with 2.8%. Another drawback of LVS is lack of accuracy improvement for last 3/4 period of the work.

The advantage of Inspirer is lack of algorithm-specific variables for simulation control and accuracy control that manages the simulation until specified accuracy level will be achieved.

The both systems report progress of the calculation. The meaning of progress reports is quite different: Inspirer reports an estimation of simulation error (see previous work, "Accuracy of simulation" of Specter system). LVS reports only a number of initial energy that has been distributed. We compare these reports on following graph:

Accuracy estimation in Inspirer statistically predicts measured error of its unfiltered results generated by forward Monte Carlo simulator. LVS' report also reflects current accuracy of LVS radiosity solution process but it reaches 100% of initial energy distribution (i.e. 0% error in that term) on half of total calculation time. The next half of calculations is performed by LVS without any progress report.