--- ray/doc/ray.html 2004/01/01 19:31:44 1.3
+++ ray/doc/ray.html 2024/12/09 19:21:38 1.39
@@ -1,22 +1,21 @@
+
-The RADIANCE 3.5 Synthetic Imaging System
+The RADIANCE 6.0 Synthetic Imaging System
-Copyright © 2003 Regents, University of California
-
-The RADIANCE 3.5 Synthetic Imaging System
+The RADIANCE 6.0 Synthetic Imaging System
-Building Technologies Department
+Building Technologies Program
Lawrence Berkeley National Laboratory
1 Cyclotron Rd., 90-3111
Berkeley, CA 94720
@@ -84,7 +83,7 @@ The diagram in Figure 1 shows the flow between program
(ovals).
The central program is rpict, which produces a picture from a scene
description.
-Rview is a variation of rpict that computes and displays images
+Rvu is a variation of rpict that computes and displays images
interactively, and rtrace computes single ray values.
Other programs (not shown) connect many of these elements together,
such as the executive programs
@@ -566,7 +565,7 @@ A material defines the way light interacts with a sur
- Mirror is used for planar surfaces that produce secondary source reflections.
+ Mirror is used for planar surfaces that produce virtual source reflections.
This material should be used sparingly, as it may cause the light source calculation to blow up if it is applied to many small surfaces.
This material is only supported for flat surfaces such as polygons and rings.
The arguments are simply the RGB reflectance values, which should be between 0 and 1.
@@ -589,12 +588,12 @@ This is only appropriate if the surface hides other (m
- The prism1 material is for general light redirection from prismatic glazings, generating secondary light sources.
+ The prism1 material is for general light redirection from prismatic glazings, generating virtual light sources.
It can only be used to modify a planar surface
(i.e., a polygon or disk)
and should not result in either light concentration or scattering.
The new direction of the ray can be on either side of the material,
- and the definitions must have the correct bidirectional properties to work properly with secondary light sources.
+ and the definitions must have the correct bidirectional properties to work properly with virtual light sources.
The arguments give the coefficient for the redirected light and its direction.
@@ -661,7 +660,7 @@ a perfectly scattering medium (no absorption).
The scattering eccentricity parameter will likewise override the global
setting if it is present.
Scattering eccentricity indicates how much scattered light favors the
-forward direction, as fit by the Heyney-Greenstein function:
+forward direction, as fit by the Henyey-Greenstein function:
P(theta) = (1 - g*g) / (1 + g*g - 2*g*cos(theta))^1.5
@@ -799,7 +798,8 @@ unless the line integrals consider enclosed geometry.
Trans2 is the anisotropic version of trans.
- The string arguments are the same as for plastic2, and the real arguments are the same as for trans but with an additional roughness value.
+ The string arguments are the same as for plastic2,
+ and the real arguments are the same as for trans but with an additional roughness value.
mod trans2 id
@@ -811,6 +811,85 @@ unless the line integrals consider enclosed geometry.
+
+ Ashik2
+
+
+
+ Ashik2 is the anisotropic reflectance model by Ashikhmin & Shirley.
+ The string arguments are the same as for plastic2, but the real
+ arguments have additional flexibility to specify the specular color.
+ Also, rather than roughness, specular power is used, which has no
+ physical meaning other than larger numbers are equivalent to a smoother
+ surface.
+ Unlike other material types, total reflectance is the sum of
+ diffuse and specular colors, and should be adjusted accordingly.
+
+ mod ashik2 id
+ 4+ ux uy uz funcfile transform
+ 0
+ 8 dred dgrn dblu sred sgrn sblu u-power v-power
+
+
+
+
+
+
+ WGMDfunc
+
+
+
+ WGMDfunc is a more programmable version of trans2,
+ with separate modifier paths and variables to control each component.
+ (WGMD stands for Ward-Geisler-Moroder-Duer, which is the basis for
+ this empirical model, similar to previous ones beside Ashik2.)
+ The specification of this material is given below.
+
+ mod WGMDfunc id
+ 13+ rs_mod rs rs_urough rs_vrough
+ ts_mod ts ts_urough ts_vrough
+ td_mod
+ ux uy uz funcfile transform
+ 0
+ 9+ rfdif gfdif bfdif
+ rbdif gbdif bbdif
+ rtdif gtdif btdif
+ A10 ..
+
+
+The sum of specular reflectance (rs), specular transmittance (ts),
+diffuse reflectance (rfdif gfdif bfdif for front and rbdif gbdif bbdif for back)
+and diffuse transmittance (rtdif gtdif btdif) should be less than 1 for each
+channel.
+
+
+
+Unique to this material, separate modifier channels are
+provided for each component.
+The main modifier is used on the diffuse reflectance, both
+front and back.
+The rs_mod modifier is used for specular reflectance.
+If "void" is given for rs_mod,
+then the specular reflection color will be white.
+The special "inherit" keyword may also be given, in which case
+specular reflectance will share the main modifier.
+This behavior is replicated for the specular transmittance modifier
+ts_mod, which also has its own independent roughness expressions.
+Finally, the diffuse transmittance modifier is given as
+td_mod, which may also be "void" or "inherit".
+Note that any spectra or color for specular components must be
+carried by the named modifier(s).
+
+
+
+The main advantage to this material over
+BRTDfunc and
+other programmable types described below is that the specular sampling is
+well-defined, so that all components are fully computed.
+
+
+
+
Dielectric
@@ -1055,6 +1134,116 @@ unless the line integrals consider enclosed geometry.
+
+ BSDF
+
+
+
+ The BSDF material type loads an XML (eXtensible Markup Language)
+ file describing a bidirectional scattering distribution function.
+ Real arguments to this material may define additional
+ diffuse components that augment the BSDF data.
+ String arguments are used to define thickness for proxied
+ surfaces and the "up" orientation for the material.
+
+
+ mod BSDF id
+ 6+ thick BSDFfile ux uy uz funcfile transform
+ 0
+ 0|3|6|9
+ rfdif gfdif bfdif
+ rbdif gbdif bbdif
+ rtdif gtdif btdif
+
+
+
+ The first string argument is a "thickness" parameter that may be used
+ to hide detail geometry being proxied by an aggregate BSDF material.
+ If a view or shadow ray hits a BSDF proxy with non-zero thickness,
+ it will pass directly through as if the surface were not there.
+ Similar to the illum type, this permits direct viewing and
+ shadow testing of complex geometry.
+ The BSDF is used when a scattered (indirect) ray hits the surface,
+ and any transmitted sample rays will be offset by the thickness amount
+ to avoid the hidden geometry and gather samples from the other side.
+ In this manner, BSDF surfaces can improve the results for indirect
+ scattering from complex systems without sacrificing appearance or
+ shadow accuracy.
+ If the BSDF has transmission and back-side reflection data,
+ a parallel BSDF surface may be
+ placed slightly less than the given thickness away from the front surface
+ to enclose the complex geometry on both sides.
+ The sign of the thickness is important, as it indicates
+ whether the proxied geometry is behind the BSDF
+ surface (when thickness is positive) or in front (when
+ thickness is negative).
+
+ The second string argument is the name of the BSDF file,
+ which is found in the usual auxiliary locations. The
+ following three string parameters name variables for an
+ "up" vector, which together with the surface
+ normal, define the local coordinate system that orients the
+ BSDF. These variables, along with the thickness, are defined
+ in a function file given as the next string argument. An
+ optional transform is used to scale the thickness and
+ reorient the up vector.
+
+ If no real arguments are given, the BSDF is used by itself
+ to determine reflection and transmission. If there are at
+ least 3 real arguments, the first triplet is an additional
+ diffuse reflectance for the front side. At least 6 real
+ arguments adds diffuse reflectance to the rear side of the
+ surface. If there are 9 real arguments, the final triplet
+ will be taken as an additional diffuse transmittance. All
+ diffuse components as well as the non-diffuse transmission
+ are modified by patterns applied to this material. The
+ non-diffuse reflection from either side are unaffected.
+ Textures perturb the effective surface normal in the usual
+ way.
+
+ The surface normal of this type is not altered to face the
+ incoming ray, so the front and back BSDF reflections may
+ differ. (Transmission is identical front-to-back by physical
+ law.) If back visibility is turned off during rendering and
+ there is no transmission or back-side reflection, only then
+ the surface will be invisible from behind. Unlike other
+ data-driven material types, the BSDF type is fully supported
+ and all parts of the distribution are properly sampled.
+
+
+
+
+ aBSDF
+
+
+
+ The aBSDF material is identical to the BSDF type with two
+ important differences. First, proxy geometry is not
+ supported, so there is no thickness parameter. Second, an
+ aBSDF is assumed to have some specular through component
+ (the ’a’ stands for "aperture"),
+ which is treated specially during the direct calculation
+ and when viewing the material. Based on the BSDF data, the
+ coefficient of specular transmission is determined and used
+ for modifying unscattered shadow and view rays.
+
+
+ mod aBSDF id
+ 5+ BSDFfile ux uy uz funcfile transform
+ 0
+ 0|3|6|9
+ rfdif gfdif bfdif
+ rbdif gbdif bbdif
+ rtdif gtdif btdif
+
+
+
+ If a material has no specular transmitted component, it is
+ much better to use the BSDF type with a zero thickness
+ than to use aBSDF.
+
+
+
Antimatter
@@ -1328,6 +1517,153 @@ or:
A section of text meant to depict a picture, perhaps using a special purpose font such as hexbit4x1.fnt, calls for uniform spacing.
Reasonable magnitudes for proportional spacing are between 0.1 (for tightly spaced characters) and 0.3 (for wide spacing).
+
+
+
+
+ Spectrum
+
+
+
+ The spectrum primitive is the most basic type for introducing spectral
+ color to a material.
+ Since materials only provide RGB parameters, spectral patterns
+ are the only way to superimpose wavelength-dependent behavior.
+
+
+ mod spectrum id
+ 0
+ 0
+ 5+ nmA nmB s1 s2 .. sN
+
+
+
+ The first two real arguments indicate the extrema of the
+ spectral range in nanometers.
+ Subsequent real values correspond to multipliers at each wavelength.
+ The nmA wavelength may be greater or less than nmB,
+ but they may not be equal, and their ordering matches
+ the order of the spectral values.
+ A minimum of 3 values must be given, which would act
+ more or less the same as a constant RGB multiplier.
+ As with RGB values, spectral quantities normally range between 0
+ and 1 at each wavelength, or average to 1.0 against a standard
+ sensitivity functions such as V(lambda).
+ The best results obtain when the spectral range and number
+ of samples match rendering options, though resampling will handle
+ any differences, zero-filling wavelenths outside the nmA to nmB
+ range.
+ A warning will be issued if the given wavelength range does not
+ adequately cover the visible spectrum.
+
+
+
+
+
+ Specfile
+
+
+
+ The specfile primitive is equivalent to the spectrum type, but
+ the wavelength range and values are contained in a 1-dimensional
+ data file.
+ This may be a more convenient way to specify a spectral color,
+ especially one corresponding to a standard illuminant such as D65
+ or a library of measured spectra.
+
+
+ mod specfile id
+ 1 datafile
+ 0
+ 0
+
+
+
+ As with the spectrum type, rendering wavelengths outside the defined
+ range will be zero-filled.
+ Unlike the spectrum type, the file may contain non-uniform samples.
+
+
+
+
+
+ Specfunc
+
+
+
+ The specfunc primitive offers dynamic control over a spectral
+ pattern, similar to the colorfunc type.
+
+
+ mod specfunc id
+ 2+ sfunc funcfile transform
+ 0
+ 2+ nmA nmB A3 ..
+
+
+
+ Like the spectrum primitive, the wavelength range is specified
+ in the first two real arguments, and additional real values are
+ set in the evaluation context.
+ This function is fed a wavelenth sample
+ between nmA and nmB as its only argument,
+ and it returns the corresponding spectral intensity.
+
+
+
+ Specdata
+
+
+
+ Specdata is like brightdata and colordata, but with more
+ than 3 specular samples.
+
+
+ mod specdata id
+ 3+n+
+ func datafile
+ funcfile x1 x2 .. xn transform
+ 0
+ m A1 A2 .. Am
+
+
+
+ The data file must have one more dimension than the coordinate
+ variable count, as this final dimension corresponds to the covered
+ spectrum.
+ The starting and ending wavelengths are specified in "datafile"
+ as well as the number of spectral samples.
+ The function "func" will be called with two parameters, the
+ interpolated spectral value for the current coordinate and the
+ associated wavelength.
+ If the spectrum is broken into 12 components, then 12 calls
+ will be made to "func" for the relevant ray evaluation.
+
+
+
+ Specpict
+
+
+
+ Specpict is a special case of specdata, where the pattern is
+ a hyperspectral image stored in the common-exponent file format.
+ The dimensions of the image data are determined by the picture
+ just as with the colorpict primitive.
+
+
+ mod specpict id
+ 5+
+ func specfile
+ funcfile u v transform
+ 0
+ m A1 A2 .. Am
+
+
+
+ The function "func" is called with the interpolated pixel value
+ and the wavelength sample in nanometers, the same as specdata,
+ with as many calls made as there are components in "specfile".
+
@@ -1338,6 +1674,7 @@ or:
A mixture is a blend of one or more materials or textures and patterns.
+Blended materials should not be light source types or virtual source types.
The basic types are given below.
@@ -1367,8 +1704,6 @@ A mixfunc mixes two modifiers procedurally. It i
which serves as a form of opacity control when used with a material.)
Vname is the coefficient defined in funcfile that determines the influence of foreground.
The background coefficient is always (1-vname).
- Since the references are not resolved until run-time, the last definitions of the modifier id's will be used.
- This can result in modifier loops, which are detected by the renderer.
@@ -1412,7 +1747,6 @@ A mixfunc mixes two modifiers procedurally. It i
arguments, the red, green and blue values
corresponding to the pixel at (u,v).
-
@@ -1530,10 +1864,8 @@ If no file is needed by a given primitive because all
the required variables are global,
a period (`.') can be given in place of the file name.
It is also possible to give an expression instead
-of a straight variable name in a scene file,
-although such expressions should be kept
-simple if possible.
-Also, functions (requiring parameters) must be given
+of a straight variable name in a scene file.
+Functions (requiring parameters) must be given
as names and not as expressions.
@@ -1680,7 +2012,7 @@ The details of this process are not important, but
directs the use of a scene description.
-
-Rview is ray-tracing program for viewing a scene interactively.
+Rvu is ray-tracing program for viewing a scene interactively.
When the user specifies a new perspective, rvu quickly displays a rough image on the terminal,
then progressively increases the resolution as the user looks on.
He can select a particular section of the image to improve, or move to a different view and start over.
@@ -1716,16 +2048,10 @@ Pictures may be displayed directly under X11 using the
or converted a standard image format using one of the following
translators:
- - Ra_avs
- converts to and from AVS image format.
-
- Ra_pict
- converts to Macintosh 32-bit PICT2 format.
+
- Ra_bmp
+ converts to and from BMP image format.
- Ra_ppm
converts to and from Poskanzer Portable Pixmap formats.
-
- Ra_pr
- converts to and from Sun 8-bit rasterfile format.
-
- Ra_pr24
- converts to and from Sun 24-bit rasterfile format.
- Ra_ps
converts to PostScript color and greyscale formats.
- Ra_rgbe
@@ -1751,7 +2077,7 @@ or converted a standard image format using one of the
The Radiance Software License, Version 1.0
-Copyright (c) 1990 - 2002 The Regents of the University of California,
+Copyright (c) 1990 - 2021 The Regents of the University of California,
through Lawrence Berkeley National Laboratory. All rights reserved.
Redistribution and use in source and binary forms, with or without
@@ -1785,7 +2111,7 @@ are met:
nor may "Radiance" appear in their name, without prior written
permission of Lawrence Berkeley National Laboratory.
-THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+THIS SOFTWARE IS PROVIDED ``AS IS" AND ANY EXPRESSED OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL Lawrence Berkeley National Laboratory OR
@@ -1824,20 +2150,72 @@ Ecole Polytechnique Federale de Lausanne (EPFL Unive
+ - Ward, Gregory J., Bruno Bueno, David Geisler-Moroder,
+ Lars O. Grobe, Jacob C. Jonsson, Eleanor
+ S. Lee, Taoning Wang, Helen Rose Wilson,
+ "Daylight
+ Simulation Workflows Incorporating Measured Bidirectional
+ Scattering Distribution Functions"
+ Energy & Buildings, Vol. 259, No. 11890, 2022.
+
- Wang, Taoning, Gregory Ward, Eleanor Lee,
+ "Efficient
+ modeling of optically-complex, non-coplanar exterior shading:
+ Validation of matrix algebraic methods"
+ Energy & Buildings, vol. 174, pp. 464-83, Sept. 2018.
+
- Lee, Eleanor S., David Geisler-Moroder, Gregory Ward,
+ "Modeling
+ the direct sun component in buildings using matrix
+ algebraic approaches: Methods and
+ validation," Solar Energy,
+ vol. 160, 15 January 2018, pp 380-395.
+
- Narain, Rahul, Rachel A. Albert, Abdullah Bulbul,
+ Gregory J. Ward, Marty Banks, James F. O'Brien,
+ "Optimal
+ Presentation of Imagery with Focus
+ Cues on Multi-Plane Displays,"
+ SIGGRAPH 2015.
+
- Ward, Greg, Murat Kurt, and Nicolas Bonneel,
+ "Reducing
+ Anisotropic BSDF Measurement to Common Practice,"
+ Workshop on Material Appearance Modeling, 2014.
+
- Banks, Martin, Abdullah Bulbul, Rachel Albert, Rahul Narain,
+ James F. O'Brien, Gregory Ward,
+ "The
+ Perception of Surface Material from Disparity and Focus Cues,"
+ VSS 2014.
+
- McNeil, A., C.J. Jonsson, D. Appelfeld, G. Ward, E.S. Lee,
+ "
+ A validation of a ray-tracing tool used to generate
+ bi-directional scattering distribution functions for
+ complex fenestration systems,"
+ Solar Energy, 98, 404-14,
+ November 2013.
+
- Ward, G., R. Mistrick, E.S. Lee, A. McNeil, J. Jonsson,
+ "Simulating
+ the Daylight Performance of Complex Fenestration Systems
+ Using Bidirectional Scattering Distribution Functions within
+ Radiance,"
+ Leukos, 7(4)
+ April 2011.
+
- Cater, Kirsten, Alan Chalmers, Greg Ward,
+ "Detail to Attention:
+ Exploiting Visual Tasks for Selective Rendering,"
+ Eurographics Symposium
+ on Rendering 2003, June 2003.
- Ward, Greg, Elena Eydelberg-Vileshin,
- ``Picture Perfect RGB
- Rendering Using Spectral Prefiltering and Sharp Color Primaries,''
+ "Picture Perfect RGB
+ Rendering Using Spectral Prefiltering and Sharp Color Primaries,"
Thirteenth Eurographics Workshop on Rendering (2002),
P. Debevec and S. Gibson (Editors), June 2002.
- Ward, Gregory,
- ``High Dynamic Range Imaging,''
+ "High Dynamic Range Imaging,"
Proceedings of the Ninth Color Imaging Conference, November 2001.
- Ward, Gregory and Maryann Simmons,
- ``
+ "
The Holodeck Ray Cache: An Interactive Rendering System for Global Illumination in Nondiffuse
- Environments,'' ACM Transactions on Graphics, 18(4):361-98, October 1999.
-
- Larson, G.W., ``The Holodeck: A Parallel
- Ray-caching Rendering System,'' Proceedings of the Second
+ Environments," ACM Transactions on Graphics, 18(4):361-98, October 1999.
+
- Larson, G.W., "The Holodeck: A Parallel
+ Ray-caching Rendering System," Proceedings of the Second
Eurographics Workshop on Parallel Graphics and Visualisation,
September 1998.
- Larson, G.W. and R.A. Shakespeare,
@@ -1845,46 +2223,46 @@ Ecole Polytechnique Federale de Lausanne (EPFL Unive
the Art and Science of Lighting Visualization,
Morgan Kaufmann Publishers, 1998.
- Larson, G.W., H. Rushmeier, C. Piatko,
- ``A Visibility
+ "A Visibility
Matching Tone Reproduction Operator for
- High Dynamic Range Scenes,'' LBNL Technical Report 39882,
+ High Dynamic Range Scenes," LBNL Technical Report 39882,
January 1997.
-
- Ward, G., ``Making
- Global Illumination User-Friendly,'' Sixth
+
- Ward, G., "Making
+ Global Illumination User-Friendly," Sixth
Eurographics Workshop on Rendering, Springer-Verlag,
Dublin, Ireland, June 1995.
- Rushmeier, H., G. Ward, C. Piatko, P. Sanders, B. Rust,
- ``
+ "
Comparing Real and Synthetic Images: Some Ideas about
- Metrics,'' Sixth Eurographics Workshop on Rendering,
+ Metrics," Sixth Eurographics Workshop on Rendering,
Springer-Verlag, Dublin, Ireland, June 1995.
- - Ward, G., ``The RADIANCE
- Lighting Simulation and Rendering System,'' Computer
+
- Ward, G., "The RADIANCE
+ Lighting Simulation and Rendering System," Computer
Graphics, July 1994.
- - Rushmeier, H., G. Ward, ``Energy
- Preserving Non-Linear Filters,'' Computer
+
- Rushmeier, H., G. Ward, "Energy
+ Preserving Non-Linear Filters," Computer
Graphics, July 1994.
- - Ward, G., ``A Contrast-Based Scalefactor for Luminance
- Display,'' Graphics Gems IV, Edited by Paul Heckbert,
+
- Ward, G., "A Contrast-Based Scalefactor for Luminance
+ Display," Graphics Gems IV, Edited by Paul Heckbert,
Academic Press 1994.
- - Ward, G., ``Measuring and
- Modeling Anisotropic Reflection,'' Computer
+
- Ward, G., "Measuring and
+ Modeling Anisotropic Reflection," Computer
Graphics, Vol. 26, No. 2, July 1992.
- - Ward, G., P. Heckbert, ``Irradiance
- Gradients,'' Third Annual Eurographics Workshop on
+
- Ward, G., P. Heckbert, "Irradiance
+ Gradients," Third Annual Eurographics Workshop on
Rendering, Springer-Verlag, May 1992.
- - Ward, G., ``Adaptive Shadow
- Testing for Ray Tracing'' Photorealistic Rendering in
+
- Ward, G., "Adaptive Shadow
+ Testing for Ray Tracing" Photorealistic Rendering in
Computer Graphics, proceedings of 1991 Eurographics
Rendering Workshop, edited by P. Brunet and F.W. Jansen,
Springer-Verlag.
- - Ward, G., ``Visualization,'' Lighting Design and
+
- Ward, G., "Visualization," Lighting Design and
Application, Vol. 20, No. 6, June 1990.
- - Ward, G., F. Rubinstein, R. Clear, ``A Ray Tracing Solution for
- Diffuse Interreflection,'' Computer Graphics,
+
- Ward, G., F. Rubinstein, R. Clear, "A Ray Tracing Solution for
+ Diffuse Interreflection," Computer Graphics,
Vol. 22, No. 4, August 1988.
- - Ward, G., F. Rubinstein, ``A New Technique for Computer
- Simulation of Illuminated Spaces,'' Journal of the
+
- Ward, G., F. Rubinstein, "A New Technique for Computer
+ Simulation of Illuminated Spaces," Journal of the
Illuminating Engineering Society, Vol. 17, No. 1,
Winter 1988.
@@ -1922,6 +2300,7 @@ SURFACES MATERIALS TEXTURES PATTERNS MIXTURES
Plasdata
Metdata
Transdata
+ BSDF
Antimatter