Written by György Antal and Ferenc Csonka,
June, 2001.
Budapest
slightly fast solution: o direct illumination must be given approx. immediately o approximated indirect illumination is given within a short time o full illumination can also be calculated and rendered
global illumination effects: o color bleeding o soft shadows o refraction, reflection (mirror), caustics
noise-free, visually pleasing images
low memory requirements (directional basis Galerkin radiosity is not suitable)
physically accurate rendering
may support animation sequences, walkthroughs
may support panoramic images and parallel projection
1
slow solution with simple scenes
does not require tessellation
direct and indirect illumination can be separated
efficiency is increasing proportional to scene complexity (compared with scan-line algorithms)
low memory complexity
accurate global illumination effects
to achieve noise-free images: o deterministic algorithms (e.g. recursive ray-tracing): faster, but biased o stochastic methods with many samples-per-pixel: slower, but unbiased
image-based solution => difficult to support animation sequences, walkthroughs
require tessellation
two types of finite element algorithms: radiosity (diffuse and directional) and finite element based stochastic iteration
relatively fast solution for the projected illumination problem
direct and indirect illumination can be separated
deal with planar surfaces (often convex polygons or triangles)
large memory requirements for radiosity and moderate for stochastic iteration
the original mesh often requires further meshing => more memory requirements
deal only with diffuse or glossy surfaces
noise-free, visually pleasing images
object space methods => support animation sequences, walkthroughs
2
4.1 Conversion of data structures
Since we use iteration (finite element) based method, our solution handles simple planar objects
(triangles). The original AC triangle mesh is further meshed before starting the iteration (discontinuity meshing and wall-floor intersection meshing). Our rendering engine uses parallel ray-bundle tracing, which ensures diffuse, glossy and not too specular reflections while the memory requirements is similar to any diffuse radiosity solution. Comparing with the radiosity approach with the same memory complexity, our algorithm handles the non-diffuse effects as well.
4.2 Attributes of the surfaces
We use physically based materials, which can be converted from ArchiCAD non-physically based shaders. We use the following surface attributes:
emittance
diffuse and specular reflectance
diffuse and specular transmittance
refraction index
The following main problem was come up during converting the ArchiCAD material attributes:
diffuse albedo + specular reflectance can be greater than 1, i.e. 100%, which means a surface can be reflected more energy than the incoming one (the law of energy-conserving is violated)
4.3 Attributes of the lights
Now we use area light sources, because they have physical interpretation. We simulated ArchiCAD's point, directional and spot lightsources with emissive small triangles.
Every global illumination rendering algorithm uses physical data (power, intensity etc.). Our engine also uses these concepts.
4.4 Settings for the rendering algorithm
We use some settings for tessellating the original ArchiCAD mesh and a checkbox for discontinuity meshing. We use some settings for choosing the appropriate shadow generation method, which can decrease the tessellating level. Our engine uses some settings for tone mapping.
4.5 Important Q&A
4.5.1 What kind of algorithm does your Engine support? Name the background of it (publication, research paper etc.)
3
Our engine uses stochastic iteration framework and parallel ray-bundle tracing ([1], [2], [3]).
4.5.2 Supported platforms
Windows and MAC.
4.5.3 License conditions
No problem. This rendering add-on is an internally developed one.
4.54 How big is the overhead in the data conversion? (Give your native data structure or time/memory estimation for the conversion.)
Finite element based methods need fairly tessellated meshes to avoid light leaks, inaccurate illumination effects etc. It means our engine has to re-mesh the AC triangles, which implicates huge memory requirements and moderate time complexity. Parallel ray-bundle tracing uses only 1 variable per patch, which ensures diffuse radiosity-like memory requirements. Our engine provides some settings to the users for balancing between the quality of the rendered image and the memory requirements. It means in average case the user has to wait for some seconds to convert the AC triangles into the RenderX ones.
Our data structure is triangles, and an estimate time complexity for 20K mesh to convert to a 120K mesh is approximately 5 seconds.
4.5.5 What are the missing surface attributes you need in your algorithm?
Refraction index for defining physically correct transmittance properties and since we use area light sources we require emitted radiance power.
4.5.6 What are the missing attributes for the light sources? Do you support physical data (Watt, lumen, candela)?
RGB radiance value (Watts / steradian / m
2 )
, but any physical measure is OK, we can correct the easily
(it is just a matter of multiplying by a constant value)
4.5.7 What are the missing settings for your algorithm?
Settings for tessellation, discontinuity meshing and shadow types. We plan that the modal dialog of these settings will appear before the starting of the rendering process. The tone mapping settings may be available before and after the rendering.
4
5.1 Conversion of data structures
Scene geometry within the rendering programs is modeled using B-rep of three basic surface classes, defined below:
•
Polygon: An n -sided planar polygon, with no fewer than three sides. A polygon may be concave or convex as long as it is a well-defined surface (i.e., no two sides may intersect, though they may coincide). Surface orientation is determined by vertex ordering. Vertices read counterclockwise from the front. Holes in polygons are represented using seams . If the vertices are nonplanar, a warning is issued and the average plane is used, which may result in cracks in the rendering of adjacent surfaces.
•
Sphere: Defined by a center and a radius. Its surface may point outward or inward.
• Cone: Includes the truncated right cone, the truncated right cylinder, and the ring (a disk with an inner and an outer radius).
Each surface primitive is independent in the sense that there is no sharing of vertices or other geometric information between primitives. Besides the abovementioned local geometric types, there is one distant geometric type:
• Source: A direction and subtended angle indicating a solid angle of light entering the environment, such as light that might come from the sun or the sky.
Figure 5.1
Radiance geometry primitives
5
In ArchiCAD Radiance would use polygons without remeshing, because the hybrid ray-tracing engine works with the original mesh.
5.2 Attributes of the surfaces
Radiance uses physically based materials, which can be converted from ArchiCAD non-physically based shaders. Radiance uses the following surface attributes:
emittance
diffuse, directional diffuse and specular reflectance
diffuse and specular transmittance
refraction index
Figure 5.2
: uniform diffuse, directional diffuse and specular part of BRDF
5.2.1 Reflective materials
diffuse reflectance
specularity
isotropic roughness: plastic, metal
anisotropic roughness: plastic2, metal2
arbitrary distribution: plasfunc, plasdata, metfunc, metdata
5.2.2 Transmissive materials
visible transmittance: dielectric, glass
diffuse transmittance: trans, transdata, transfunc
specular transmittance: trans, trans2
arbitrary distribution: BRTDfunc
6
5.2.3 Emissive materials
visible light sources: light, glow, spotlight
invisible light sources: illum
secondary light sources: mirror, only valid on polygon and disk (ring)
light re-direction for glazings: prism, prism2
5.3 Attributes of the lights
Radiance uses polygon, sphere, disc and cylinder light sources. A light is defined simply as a RGB radiance value (Watts / steradian / m
2 ).
Radiance can use secondary light sources, which means they are treated like any other light source, except when viewed directly. It then acts like it is made of a different material, or becomes invisible.
Secondary sources are useful when modeling windows or brightly illuminated surfaces.
5.3.1 Some important feature of the light sources
normal with 1/D
2 fall-off: light
limited range of effect: glow
limited cone of effect: spotlight
invisible surfaces for imposter geometry: illum
statistical sampling used for optimization
can use candlepower distribution data (IESNA)
dealing with ambient light:
no need to create “fake” lights to make the scene appear realistic
method empolyed is “ambient interreflections”
5.4 Important Q&A
5.4.1 What kind of algorithm does your Engine support? Name the background of it (publication, research paper etc.)
The rendering engine uses an octree-based hybrid (deterministic and Monte Carlo) ray-tracing ([4], [5],
[6], [7], [8]).
5.4.2 Supported platforms
The original Radiance is available for Unix. Radiance was reimplemented for Microsoft DOS during
ADELINE project. Desktop Radiance is an integrated AutoCAD solution, which based on the original
Radiance library. Desktop Radiance is available on Windows.
7
5.4.3 License conditions (for UNIX platforms)
“Radiance is a registered copyright of The Regents of the University of California ("The Regents"). The
Regents grant to you a nonexclusive, nontransferable license ("License") to use Radiance source code without fee. You may not sell or distribute Radiance to others without the prior express written permission of The Regents . You may compile and use this software on any machines to which you have personal access, and may share its use with others who have access to the same machines.
By downloading, using or copying this software, you agree to abide by the intellectual property laws and all other applicable laws of the United States, and by the terms of this License Agreement. Ownership of the software shall remain solely in The Regents . The Regents shall have the right to terminate this
License immediately by written notice upon your breach of, or noncompliance with, any of its terms.
You shall be liable for any infringement or damages resulting from your failure to abide by the terms of this License Agreement.”
5.4.4 How big is the overhead in the data conversion? (Give your native data structure or time/memory estimation for the conversion.)
Minimal. Radiance uses adaptive source subdivision at direct illumination calculation for subdivide large or long sources.
5.4.5 What are the missing surface attributes you need in your algorithm?
Directional diffuse reflectance and refraction index.
5.4.6 What are the missing attributes for the light sources? Do you support physical data (Watt, lumen, candela)?
RGB radiance value (Watts / steradian / m
2 )
.
Here we include the old material settings dialog and show examples of the new one. We briefly outline the proposed changes in a text form also.
8
We explored the material settings dialog of some 3D programs (Discreet’s 3D Studio MAX 3.0,
Lightscape 3.1, Alias|Wavefront’s Maya 3.0 and Abvent’s Artlantis Renderer 4.0). The dialogs can be seen on Figure 4.2 and 4.3.
Figure 6.1
The old material settings dialogs in ArchiCAD
Figure 6.2
Material settings dialog in Lightscape
9
Figure 6.3
Material settings dialog in 3D Studio MAX (left), in Maya (top right) and in Artlantis (bottom right)
10
Figure 6.4
New Material Settings dialog
11
Figure 6.5
New Material Settings dialog
The changes:
the different rendering engines requires different parameters, which is separated
the most frequently used common attributes are grouped together
Live preview is deleted (it may be the default, since computers are so fast nowadays)
“Type” is changed to “Template”
the old “color” is now the “diffuse color”
each type of reflection now has a color value (in the past ambient had not)
3D window is considered as another rendering engine, which require hatches
the change of the colors is now can be done with another color simultaneously (see the two little flip-flops after the color boxes)
the sidebar of the colors now change the Value of the color (in HSV) run-time in color box
the old “transparency and emission attenuations” are not common parameters any more, but AC Rendering Engine specific
1
the common is the diffuse texture (old alpha channel texture is in AC Rendering tabpage, other textures can be defined by rendering add-ons), the “texture” is modified to “diffuse texture”
the texture buttons are beautified and the labels are more clear now
1 Bug in AC Rendering Dialog: it needs the “old” texture field (where alpha channel can be used as transparency or bumpmapping)
12
[1] L. Neumann: Monte Carlo radiosity.
Computing, 55: 23-42, 1995.
[2] L. Szirmay-Kalos: Stochastic iteration for non-diffuse global illumination.
Computer Graphics Forum (Eurographics’99), 18(3):233–244, 1999.
[3] L. Szirmay-Kalos, W. Purgathofer:
Global ray-bundle tracing with hardware acceleration.
Rendering Workshop '98, 1998
[4] G. Ward: The Radiance Lighting Simulation And Rendering System.
Computer Graphics, 1994.
[5] G. Ward, R.A. Shakespeare:
Rendering with Radiance: the Art and Science of Lighting Visualization.
Morgan Kaufmann Publishers, San Francisco, 1998.
[6] G. Ward: Measuring and Modeling Anisotropic Reflection.
Computer Graphics, 26(2), 1992.
[7] G. Ward, P. Heckbert: Irradiance Gradients.
Rendering Workshop '92, 1992.
[8] G. Ward: Adaptive Shadow Testing for Ray Tracing.
Rendering Workshop '91, 1991.
13