In the more complete rendering environment of the DesignWorkshop Lights and Textures window, the visual properties of an object also start with color, but go on to include an expanded set of optical characteristics, based on a material type and an optional texture map. This provides for renderings which can be created very quickly and easily, and which can be very realistic looking, although they are generally not entirely accurate in the finer details of lighting effects.
In a full lighting simulation such as provided by Radiance, the optical properties are taken fully into account for both direct and diffusely reflected light, providing for the ultimate in realism and accuracy of even subtle and complex lighting conditions. The challenge to using this ultimate technology is working with a more complex project definition, including complex material types, and understanding the real physical properties of materials that underlay each material type.
Material Types
Radiance materials come in several basic predefined types, and applying and extending these types is a large part of the art of creating a realistic architectural simulation. Each material type uses a specific set of parameters. The most important types and their parameters are:
Light Types
light
# red, green, and blue are in physical units of radiance, watts/steradian/square meter.
spotlight
# angle is full cone angle of spotlight. Direction is output direction, in three components.
glow
Non-Light Types
plastic - used for most everyday non-metallic materials
# red, green, blue are reflectance - values greater than 0.9 are not usually realistic.
# Specularity greater than 0.1 is usually not realistic.
# Roughness varies from 0=perfectly smooth, to 0.5=perfectly rough.
# Roughness greater than 0.4 (?) is usually not realistic.
metal
# red, green, blue are reflectance - values greater than 0.9 are not usually realistic.
# Specularity greater than 0.9 is typical.
# Roughness varies from 0=perfectly smooth, to 0.5=perfectly rough.
# Roughness greater than 0.2 is usually not realistic.
glass
# A transmission value of 0.96 is typical, for standard 88% transmissivity glass.
trans
# Used for translucent materials. Transmissivity is the fraction of light that gets through the material. transmittedSpecular is is what gets through without being diffusely scattered.
mirror
# Other options are available in the mirror material for advanced use.
Other material types, used more rarely, include illum, dielectric, interface, and antimatter. See the main Radiance site materials overview for details.
Pattern and Texture
Patterns and textures are modifiers for the basic Radiance materials. By listing a modifier Radiance patterns vary "2D" optical characteristics of an object material across the object surface. Textures vary the apparent local shape of a surface by perturbing the surface normal across the object surface, which causes shading variations perceived as bumps, waves, etc. Both patterns and textures can be either based on bitmap image data, or on mathematical procedures. Procedure files for both patterns and textures are indentified by the extension ".cal", and the bitmaps for image-based patterns are indentified by the extension ".pic". (No bitmap data files for texture definition are actually supplied with Radiance.) The bitmaps and math functions live outside your Radiance scene description file in auxilary files. You make reference to these external auxilary files in the scene description to establish complex material definitions. In fact, we will mostly use the set of auxilary files that come with Radiance, which can be found on a standard Radiance configuration at /usr/local/lib/ray/. (If your user account is properly configured, files in this directory will be referenced automatically. Otherwise, use their full path name when referencing the auxilary files.)
Patterns and texture come in some pre-defined types, just like the materials they modify. These types are listed below.
Pattern and Texture Patterns and textures are modifiers for the basic Radiance materials. By listing a modifier Radiance patterns vary "2D" optical characteristics of an object material across the object surface. Textures vary the apparent local shape of a surface by pertur bing the surface normal across the object surface, which causes shading variations perceived as bumps, waves, etc. Both patterns and textures can be either based on bitmap image data, or on mathematical procedures. Procedure files for both patterns and t extures are indentified by the extension ".cal", and the bitmaps for image-based patterns are indentified by the extension ".pic". (No bitmap data files for texture definition are actually supplied with Radiance.) The bitmaps and math functions live outside your Radiance scene description file in auxilary files. You make reference to these external auxilary files in the scene description to establish complex material definitions. In fact, we will mostly use the set of auxilary files that come with Radia nce, which can be found on Darkwing at /usr/local/lib/ray. Use that full path name when referencing the auxilary files so they don't have to be copied over and over again.
Patterns and texture come in some pre-defined types, just like the materials they modify. They are listed below.
Patterns
To
apply a
pattern to an object, the pattern is defined, and then used as a modifier to the
material definition for the object. Procedural patterns which vary material
color have the type "colorfunc", while procedural patterns which vary reflectance
have
the type "brightfunc". The number and purpose of parameters varies among
procedural patterns and textures
(hence the notation "4+" and "nÉAn").
colorfunc
By substituting a different ".pic" file from /usr/local/lib/ray and by adjusting the scale carefully, this setup can be used to apply a wide variety of patterns.
Textures
To apply a pattern to an object, the pattern is defined, and then used as a modifier to the material definition for the object. Procedural patterns which vary material color have the type "colorfunc", while procedural patterns which vary reflectance have the type "brightfunc".
D.I.L. Radiance Materials Examples
Simple Materials
# plain concrete color
void plastic concrete
0
0
5 .3 .3 .3 0 0
# plain wood floor color
void plastic wood_floor
0
0
5 .3 .15 .05 .04 0.0
# light wood color
void plastic light_wood
0
0
5 .5 .3 .2 0 0
# shingles color
void plastic shingles
0
0
5 .3 .2 .1 0 0
# glossy white paint
void plastic white_enamel_paint
0
0
5 .5 .5 .5 .02 .05
# flat gray paint
void plastic gray_paint
0
0
5 .5 .5 .5 0 0
# brass metal
void metal brass
0
0
5 .68 .27 .002 .95 0
# chrome metal
void metal chrome
0
0
5 .8 .8 .8 .9 0
# simple glass
void glass glass
0
0
3 .96 .96 .96
# a basic light source
void light light
0
0
3 100 100 100
Compound Materials
# detailed wood flooring
# first, vary the reflectance with a noise function
# "-s 2" is the spacing (2 feet) and ".15" is the degree of dirtyness (15%)
void brightfunc dusty
4 dirt /usr/local/lib/ray/dirt.cal -s 2
0
1 .15
# then, set up tiling with a floor-board bitmap
dusty colorpict wood_floor_map
9 red green blue /usr/local/lib/ray/oakfloor.pic . frac(U) frac(V) -s 1.1667
0
1 .578313253
# finally, apply this to the plastic itself
wood_floor_map plastic wood_floor
0
0
5 .2 .2 .2 .04 0
#then use "wood_floor" as the material to modify your objects
# corrugated roofing compound material definition, rev--950509.kmm
#
# first, vary the reflectance with a noise function
# "-s 2" is the spacing (2 feet) and ".25" is the degree of dirtyness (25%)
#
void brightfunc dusty
4 dirt /usr/local/lib/ray/dirt.cal -s 2
0
1 .25
#
# then, set up the sine-wave texture function:
#
# One parameter, A1 = number of cycles per unit distance
# [A1 controls size, yes, but apparently not cycles/unit] Here the size = 0.5.
# Note the non-standard order of xcor, zcor, ycor. This order applies the wave
# to the top and south faces, but not to the west face of a block.
#
dusty texfunc corrugated_south
4 xcor zcor ycor /usr/local/lib/ray/corrug.cal
0
1 0.5
#
# finally, apply this to the metal itself
#
corrugated_south metal corrugated_roof_south
0
0
5 .5 .5 .5 .3 .2
# then use "corrugated_roof_south" as the material to modify your objects
More Information on Procedural Materials...
More Information on procedural material modifiers can be found on any other properly set-up Radiance host, in the materials directory. The standard location for this directory is:
To list the files in the directory, use the "ls" command:
Then to view a ".cal" procedural pattern or texture, use the "more" command:
Do you have comments, questions, or suggestions? Send us feedback by e-mail.
http://www.artifice.com/radiance/rad_materials.html
Posted 1995 KMM, rev. 97.07.01