1 |
< |
.\" RCSid "$Id" |
1 |
> |
.\" RCSid "$Id$" |
2 |
|
.\" Print using the -ms macro package |
3 |
< |
.DA 1/20/99 |
3 |
> |
.DA 11/13/2023 |
4 |
|
.LP |
5 |
< |
.tl """Copyright \(co 1996 Regents, University of California |
5 |
> |
.tl """Copyright \(co 2023 Regents, University of California |
6 |
|
.sp 2 |
7 |
|
.TL |
8 |
|
The |
10 |
|
.br |
11 |
|
Synthetic Imaging System |
12 |
|
.AU |
13 |
< |
Greg Ward |
13 |
> |
Building Technologies Department |
14 |
|
.br |
15 |
|
Lawrence Berkeley Laboratory |
16 |
|
.br |
17 |
< |
1 Cyclotron Rd. |
17 |
> |
1 Cyclotron Rd., MS 90-3111 |
18 |
|
.br |
19 |
|
Berkeley, CA 94720 |
20 |
– |
.br |
21 |
– |
(510) 486-4757 |
20 |
|
.NH 1 |
21 |
|
Introduction |
22 |
|
.PP |
47 |
|
is a variation of |
48 |
|
.I rpict |
49 |
|
that computes and displays images interactively. |
50 |
+ |
Other programs (not shown) connect many of these elements together, |
51 |
+ |
such as the executive programs |
52 |
+ |
.I rad |
53 |
+ |
and |
54 |
+ |
.I ranimate, |
55 |
+ |
the interactive rendering program |
56 |
+ |
.I rholo, |
57 |
+ |
and the animation program |
58 |
+ |
.I ranimove. |
59 |
+ |
The program |
60 |
+ |
.I obj2mesh |
61 |
+ |
acts as both a converter and scene compiler, converting a Wavefront .OBJ |
62 |
+ |
file into a compiled mesh octree for efficient rendering. |
63 |
|
.PP |
64 |
|
A scene description file lists the surfaces and materials |
65 |
< |
that make up a specific environment. |
66 |
< |
The current surface types are spheres, polygons, cones, |
67 |
< |
and cylinders. |
68 |
< |
They can be made from materials such as plastic, metal, |
69 |
< |
and glass. |
70 |
< |
Light sources can be distant disks as well as local spheres, discs and |
71 |
< |
polygons. |
65 |
> |
that make up a specific environment. |
66 |
> |
The current surface types are spheres, polygons, cones, and cylinders. |
67 |
> |
There is also a composite surface type, called mesh, and a pseudosurface |
68 |
> |
type, called instance, which facilitates very complex geometries. |
69 |
> |
Surfaces can be made from materials such as plastic, metal, and glass. |
70 |
> |
Light sources can be distant disks as well as local spheres, disks |
71 |
> |
and polygons. |
72 |
|
.PP |
73 |
|
From a three-dimensional scene description and a specified view, |
74 |
|
.I rpict |
95 |
|
# comment |
96 |
|
|
97 |
|
modifier type identifier |
98 |
< |
n S1 S2 S3 .. Sn |
98 |
> |
n S1 S2 "S 3" .. Sn |
99 |
|
0 |
100 |
|
m R1 R2 R3 .. Rm |
101 |
|
|
123 |
|
Thus, the same identifier may be used repeatedly, and each new |
124 |
|
definition will apply to the primitives following it. |
125 |
|
.FE |
126 |
< |
An identifier can be any string (i.e. sequence of non-blank |
116 |
< |
characters). |
126 |
> |
An identifier can be any string (i.e., any sequence of non-white characters). |
127 |
|
The |
128 |
|
.I arguments |
129 |
|
associated with a primitive can be strings or real numbers. |
130 |
|
The first integer following the identifier is the number |
131 |
|
of string arguments, and it is followed by the arguments themselves |
132 |
< |
(separated by white space). |
132 |
> |
(separated by white space or enclosed in quotes). |
133 |
|
The next integer is the number of integer arguments, and is followed |
134 |
|
by the integer arguments. |
135 |
|
(There are currently no primitives that use them, however.) |
152 |
|
A command may be continued over multiple lines using a backslash, `\\', |
153 |
|
to escape the newline. |
154 |
|
.PP |
155 |
< |
Blank space is generally ignored, except as a separator. |
155 |
> |
White space is generally ignored, except as a separator. |
156 |
|
The exception is the newline character after a command or comment. |
157 |
|
Commands, comments and primitives may appear in any combination, so long |
158 |
|
as they are not intermingled. |
160 |
|
Primitive Types |
161 |
|
.PP |
162 |
|
Primitives can be surfaces, materials, textures or patterns. |
163 |
< |
Modifiers can be materials, textures or patterns. |
163 |
> |
Modifiers can be materials, mixtures, textures or patterns. |
164 |
|
Simple surfaces must have one material in their modifier list. |
165 |
|
.NH 3 |
166 |
|
Surfaces |
233 |
|
.LP |
234 |
|
.UL Cup |
235 |
|
.PP |
236 |
< |
A cup is an inverted cone (i.e. has an inward surface normal). |
236 |
> |
A cup is an inverted cone (i.e., has an inward surface normal). |
237 |
|
.LP |
238 |
|
.UL Cylinder |
239 |
|
.PP |
272 |
|
A mesh is a compound surface, made up of many triangles and |
273 |
|
an octree data structure to accelerate ray intersection. |
274 |
|
It is typically converted from a Wavefront .OBJ file using the |
275 |
< |
obj2mesh program. |
275 |
> |
.I obj2mesh |
276 |
> |
program. |
277 |
|
.DS |
278 |
|
mod mesh id |
279 |
|
1+ meshfile transform |
280 |
|
0 |
281 |
|
0 |
282 |
|
.DE |
283 |
+ |
If the modifier is "void", then surfaces will use the modifiers given |
284 |
+ |
in the original mesh description. |
285 |
+ |
Otherwise, the modifier specified is used in their place. |
286 |
|
The transform moves the mesh to the desired location in the scene. |
287 |
|
Multiple instances using the same meshfile take little extra memory, |
288 |
|
and the compiled mesh itself takes much less space than individual |
294 |
|
available memory. |
295 |
|
In addition, the mesh primitive can have associated (u,v) coordinates |
296 |
|
for pattern and texture mapping. |
297 |
< |
These are made available to function files via the Lu and Lu variables. |
297 |
> |
These are made available to function files via the Lu and Lv variables. |
298 |
|
.LP |
299 |
|
.UL Instance |
300 |
|
.PP |
332 |
|
.LP |
333 |
|
.UL Light |
334 |
|
.PP |
335 |
< |
Light is the basic material for self-luminous surfaces (i.e. light |
335 |
> |
Light is the basic material for self-luminous surfaces (i.e., light |
336 |
|
sources). |
337 |
|
In addition to the source surface type, spheres, discs (rings with zero |
338 |
|
inner radius), cylinders (provided they are long enough), and |
392 |
|
As well as radiance, the full cone angle (in degrees) |
393 |
|
and orientation (output direction) vector are given. |
394 |
|
The length of the orientation vector is the distance |
395 |
< |
of the effective focus behind the source center (i.e. the focal length). |
395 |
> |
of the effective focus behind the source center (i.e., the focal length). |
396 |
|
.DS |
397 |
|
mod spotlight id |
398 |
|
0 |
402 |
|
.LP |
403 |
|
.UL Mirror |
404 |
|
.PP |
405 |
< |
Mirror is used for planar surfaces that produce secondary |
405 |
> |
Mirror is used for planar surfaces that produce virtual |
406 |
|
source reflections. |
407 |
|
This material should be used sparingly, as it may cause the light |
408 |
|
source calculation to blow up if it is applied to many small surfaces. |
426 |
|
.UL Prism1 |
427 |
|
.PP |
428 |
|
The prism1 material is for general light redirection from prismatic |
429 |
< |
glazings, generating secondary light sources. |
430 |
< |
It can only be used to modify a planar surface (i.e. a polygon or disk) |
429 |
> |
glazings, generating virtual light sources. |
430 |
> |
It can only be used to modify a planar surface (i.e., a polygon or disk) |
431 |
|
and should not result in either light concentration or scattering. |
432 |
|
The new direction of the ray can be on either side of the material, |
433 |
|
and the definitions must have the correct bidirectional properties |
434 |
< |
to work properly with secondary light sources. |
434 |
> |
to work properly with virtual light sources. |
435 |
|
The arguments give the coefficient for the redirected light |
436 |
|
and its direction. |
437 |
|
.DS |
491 |
|
The scattering eccentricity parameter will likewise override the global |
492 |
|
setting if it is present. |
493 |
|
Scattering eccentricity indicates how much scattered light favors the |
494 |
< |
forward direction, as fit by the Heyney-Greenstein function: |
494 |
> |
forward direction, as fit by the Henyey-Greenstein function: |
495 |
|
.DS |
496 |
|
P(theta) = (1 - g*g) / (1 + g*g - 2*g*cos(theta))^1.5 |
497 |
|
.DE |
580 |
|
These three expressions (separated by white space) are evaluated in |
581 |
|
the context of the function file |
582 |
|
.I funcfile. |
583 |
< |
If no function file is required (i.e. no special variables or |
583 |
> |
If no function file is required (i.e., no special variables or |
584 |
|
functions are required), a period (`.') may be given in its |
585 |
|
place. |
586 |
|
(See the discussion of Function Files in the Auxiliary Files section). |
622 |
|
8 red green blue spec urough vrough trans tspec |
623 |
|
.DE |
624 |
|
.LP |
625 |
+ |
.UL Ashik2 |
626 |
+ |
.PP |
627 |
+ |
Ashik2 is the anisotropic reflectance model by Ashikhmin & Shirley. |
628 |
+ |
The string arguments are the same as for plastic2, but the real |
629 |
+ |
arguments have additional flexibility to specify the specular color. |
630 |
+ |
Also, rather than roughness, specular power is used, which has no |
631 |
+ |
physical meaning other than larger numbers are equivalent to a smoother |
632 |
+ |
surface. |
633 |
+ |
Unlike other material types, total reflectance is the sum of |
634 |
+ |
diffuse and specular colors, and should be adjusted accordingly. |
635 |
+ |
.DS |
636 |
+ |
mod ashik2 id |
637 |
+ |
4+ ux uy uz funcfile transform |
638 |
+ |
0 |
639 |
+ |
8 dred dgrn dblu sred sgrn sblu u-power v-power |
640 |
+ |
.DE |
641 |
+ |
.LP |
642 |
|
.UL Dielectric |
643 |
|
.PP |
644 |
|
A dielectric material is transparent, and it refracts light |
882 |
|
6+ red green blue rspec trans tspec A7 .. |
883 |
|
.DE |
884 |
|
.LP |
885 |
+ |
.UL BSDF |
886 |
+ |
.PP |
887 |
+ |
The BSDF material type loads an XML (eXtensible Markup Language) |
888 |
+ |
file describing a bidirectional scattering distribution function. |
889 |
+ |
Real arguments to this material may define additional |
890 |
+ |
diffuse components that augment the BSDF data. |
891 |
+ |
String arguments are used to define thickness for proxied |
892 |
+ |
surfaces and the "up" orientation for the material. |
893 |
+ |
.DS |
894 |
+ |
mod BSDF id |
895 |
+ |
6+ thick BSDFfile ux uy uz funcfile transform |
896 |
+ |
0 |
897 |
+ |
0|3|6|9 |
898 |
+ |
rfdif gfdif bfdif |
899 |
+ |
rbdif gbdif bbdif |
900 |
+ |
rtdif gtdif btdif |
901 |
+ |
.DE |
902 |
+ |
The first string argument is a "thickness" parameter that may be used |
903 |
+ |
to hide detail geometry being proxied by an aggregate BSDF material. |
904 |
+ |
If a view or shadow ray hits a BSDF proxy with non-zero thickness, |
905 |
+ |
it will pass directly through as if the surface were not there. |
906 |
+ |
Similar to the illum type, this permits direct viewing and |
907 |
+ |
shadow testing of complex geometry. |
908 |
+ |
The BSDF is used when a scattered (indirect) ray hits the surface, |
909 |
+ |
and any transmitted sample rays will be offset by the thickness amount |
910 |
+ |
to avoid the hidden geometry and gather samples from the other side. |
911 |
+ |
In this manner, BSDF surfaces can improve the results for indirect |
912 |
+ |
scattering from complex systems without sacrificing appearance or |
913 |
+ |
shadow accuracy. |
914 |
+ |
If the BSDF has transmission and back-side reflection data, |
915 |
+ |
a parallel BSDF surface may be |
916 |
+ |
placed slightly less than the given thickness away from the front surface |
917 |
+ |
to enclose the complex geometry on both sides. |
918 |
+ |
The sign of the thickness is important, as it indicates whether the |
919 |
+ |
proxied geometry is behind the BSDF surface (when thickness is positive) |
920 |
+ |
or in front (when thickness is negative). |
921 |
+ |
.LP |
922 |
+ |
The second string argument is the name of the BSDF file, which is |
923 |
+ |
found in the usual auxiliary locations. |
924 |
+ |
The following three string parameters name variables for an "up" vector, |
925 |
+ |
which together with the surface normal, define the |
926 |
+ |
local coordinate system that orients the BSDF. |
927 |
+ |
These variables, along with the thickness, are defined in a function |
928 |
+ |
file given as the next string argument. |
929 |
+ |
An optional transform is used to scale the thickness and reorient the up vector. |
930 |
+ |
.LP |
931 |
+ |
If no real arguments are given, the BSDF is used by itself to determine |
932 |
+ |
reflection and transmission. |
933 |
+ |
If there are at least 3 real arguments, the first triplet is an |
934 |
+ |
additional diffuse reflectance for the front side. |
935 |
+ |
At least 6 real arguments adds diffuse reflectance to the rear side of the surface. |
936 |
+ |
If there are 9 real arguments, the final triplet will be taken as an additional |
937 |
+ |
diffuse transmittance. |
938 |
+ |
All diffuse components as well as the non-diffuse transmission are |
939 |
+ |
modified by patterns applied to this material. |
940 |
+ |
The non-diffuse reflection from either side are unaffected. |
941 |
+ |
Textures perturb the effective surface normal in the usual way. |
942 |
+ |
.LP |
943 |
+ |
The surface normal of this type is not altered to face the incoming ray, |
944 |
+ |
so the front and back BSDF reflections may differ. |
945 |
+ |
(Transmission is identical front-to-back by physical law.)\0 |
946 |
+ |
If back visibility is turned off during rendering and there is no |
947 |
+ |
transmission or back-side reflection, only then the surface will be |
948 |
+ |
invisible from behind. |
949 |
+ |
Unlike other data-driven material types, the BSDF type is fully |
950 |
+ |
supported and all parts of the distribution are properly sampled. |
951 |
+ |
.LP |
952 |
+ |
.UL aBSDF |
953 |
+ |
.PP |
954 |
+ |
The aBSDF material is identical to the BSDF type with two important |
955 |
+ |
differences. |
956 |
+ |
First, proxy geometry is not supported, so there is no thickness parameter. |
957 |
+ |
Second, an aBSDF is assumed to have some specular through component |
958 |
+ |
(the 'a' stands for "aperture"), which |
959 |
+ |
is treated specially during the direct calculation and when viewing the |
960 |
+ |
material. |
961 |
+ |
Based on the BSDF data, the coefficient of specular transmission is |
962 |
+ |
determined and used for modifying unscattered shadow and view rays. |
963 |
+ |
.DS |
964 |
+ |
mod aBSDF id |
965 |
+ |
5+ BSDFfile ux uy uz funcfile transform |
966 |
+ |
0 |
967 |
+ |
0|3|6|9 |
968 |
+ |
rfdif gfdif bfdif |
969 |
+ |
rbdif gbdif bbdif |
970 |
+ |
rtdif gtdif btdif |
971 |
+ |
.DE |
972 |
+ |
.LP |
973 |
+ |
If a material has no specular transmitted component, it is much better |
974 |
+ |
to use the BSDF type with a zero thickness than to use aBSDF. |
975 |
+ |
.LP |
976 |
|
.UL Antimatter |
977 |
|
.PP |
978 |
|
Antimatter is a material that can "subtract" volumes from other volumes. |
987 |
|
The first modifier will also be used to shade the area leaving the |
988 |
|
antimatter volume and entering the regular volume. |
989 |
|
If mod1 is void, the antimatter volume is completely invisible. |
990 |
< |
Antimatter does not work properly with the material type "trans", |
991 |
< |
and multiple antimatter surfaces should be disjoint. |
990 |
> |
If shading is desired at antimatter surfaces, it is important |
991 |
> |
that the related volumes are closed with outward-facing normals. |
992 |
> |
Antimatter surfaces should not intersect with other antimatter boundaries, |
993 |
> |
and it is unwise to use the same modifier in nested antimatter volumes. |
994 |
|
The viewpoint must be outside all volumes concerned for a correct |
995 |
|
rendering. |
996 |
|
.NH 3 |
1194 |
|
font such as hexbit4x1.fnt, calls for uniform spacing. |
1195 |
|
Reasonable magnitudes for proportional spacing are |
1196 |
|
between 0.1 (for tightly spaced characters) and 0.3 (for wide spacing). |
1197 |
+ |
.LP |
1198 |
+ |
.UL Spectrum |
1199 |
+ |
.PP |
1200 |
+ |
The spectrum primitive is the most basic type for introducing spectral |
1201 |
+ |
color to a material. |
1202 |
+ |
Since materials only provide RGB parameters, spectral patterns |
1203 |
+ |
are the only way to superimpose wavelength-dependent behavior. |
1204 |
+ |
.DS |
1205 |
+ |
mod spectrum id |
1206 |
+ |
0 |
1207 |
+ |
0 |
1208 |
+ |
5+ nmA nmB s1 s2 .. sN |
1209 |
+ |
.DE |
1210 |
+ |
The first two real arguments indicate the extrema of the |
1211 |
+ |
spectral range in nanometers. |
1212 |
+ |
Subsequent real values correspond to multipliers at each wavelength. |
1213 |
+ |
The nmA wavelength may be greater or less than nmB, |
1214 |
+ |
but they may not be equal, and their ordering matches |
1215 |
+ |
the order of the spectral values. |
1216 |
+ |
A minimum of 3 values must be given, which would act |
1217 |
+ |
more or less the same as a constant RGB multiplier. |
1218 |
+ |
As with RGB values, spectral quantities normally range between 0 |
1219 |
+ |
and 1 at each wavelength, or average to 1.0 against a standard |
1220 |
+ |
sensitivity functions such as V(lambda). |
1221 |
+ |
The best results obtain when the spectral range and number |
1222 |
+ |
of samples match rendering options, though resampling will handle |
1223 |
+ |
any differences, zero-filling wavelenths outside the nmA to nmB |
1224 |
+ |
range. |
1225 |
+ |
A warning will be issued if the given wavelength range does not |
1226 |
+ |
adequately cover the visible spectrum. |
1227 |
+ |
.LP |
1228 |
+ |
.UL Specfile |
1229 |
+ |
.PP |
1230 |
+ |
The specfile primitive is equivalent to the spectrum type, but |
1231 |
+ |
the wavelength range and values are contained in a 1-dimensional |
1232 |
+ |
data file. |
1233 |
+ |
This may be a more convenient way to specify a spectral color, |
1234 |
+ |
especially one corresponding to a standard illuminant such as D65 |
1235 |
+ |
or a library of measured spectra. |
1236 |
+ |
.DS |
1237 |
+ |
mod specfile id |
1238 |
+ |
1 datafile |
1239 |
+ |
0 |
1240 |
+ |
0 |
1241 |
+ |
.DE |
1242 |
+ |
As with the spectrum type, rendering wavelengths outside the defined |
1243 |
+ |
range will be zero-filled. |
1244 |
+ |
Unlike the spectrum type, the file may contain non-uniform samples. |
1245 |
+ |
.LP |
1246 |
+ |
.UL Specfunc |
1247 |
+ |
.PP |
1248 |
+ |
The specfunc primitive offers dynamic control over a spectral |
1249 |
+ |
pattern, similar to the colorfunc type. |
1250 |
+ |
.DS |
1251 |
+ |
mod specfunc id |
1252 |
+ |
2+ sfunc funcfile transform |
1253 |
+ |
0 |
1254 |
+ |
2+ nmA nmB A3 .. |
1255 |
+ |
.DE |
1256 |
+ |
Like the spectrum primitive, the wavelength range is specified |
1257 |
+ |
in the first two real arguments, and additional real values are |
1258 |
+ |
set in the evaluation context. |
1259 |
+ |
This function is fed a wavelenth sample |
1260 |
+ |
between nmA and nmB as its only argument, |
1261 |
+ |
and it returns the corresponding spectral intensity. |
1262 |
+ |
.LP |
1263 |
+ |
.UL Specdata |
1264 |
+ |
.PP |
1265 |
+ |
Specdata is like brightdata and colordata, but with more |
1266 |
+ |
than 3 specular samples. |
1267 |
+ |
.DS |
1268 |
+ |
mod specdata id |
1269 |
+ |
3+n+ |
1270 |
+ |
func datafile |
1271 |
+ |
funcfile x1 x2 .. xn transform |
1272 |
+ |
0 |
1273 |
+ |
m A1 A2 .. Am |
1274 |
+ |
.DE |
1275 |
+ |
The data file must have one more dimension than the coordinate |
1276 |
+ |
variable count, as this final dimension corresponds to the covered |
1277 |
+ |
spectrum. |
1278 |
+ |
The starting and ending wavelengths are specified in "datafile" |
1279 |
+ |
as well as the number of spectral samples. |
1280 |
+ |
The function "func" will be called with two parameters, the |
1281 |
+ |
interpolated spectral value for the current coordinate and the |
1282 |
+ |
associated wavelength. |
1283 |
+ |
If the spectrum is broken into 12 components, then 12 calls |
1284 |
+ |
will be made to "func" for the relevant ray evaluation. |
1285 |
+ |
.LP |
1286 |
+ |
.UL Specpict |
1287 |
+ |
.PP |
1288 |
+ |
Specpict is a special case of specdata, where the pattern is |
1289 |
+ |
a hyperspectral image stored in the common-exponent file format. |
1290 |
+ |
The dimensions of the image data are determined by the picture |
1291 |
+ |
just as with the colorpict primitive. |
1292 |
+ |
.DS |
1293 |
+ |
mod specpict id |
1294 |
+ |
5+ |
1295 |
+ |
func specfile |
1296 |
+ |
funcfile u v transform |
1297 |
+ |
0 |
1298 |
+ |
m A1 A2 .. Am |
1299 |
+ |
.DE |
1300 |
+ |
The function "func" is called with the interpolated pixel value |
1301 |
+ |
and the wavelength sample in nanometers, the same as specdata, |
1302 |
+ |
with as many calls made as there are components in "specfile". |
1303 |
|
.NH 3 |
1304 |
|
Mixtures |
1305 |
|
.PP |
1306 |
|
A mixture is a blend of one or more materials or textures and patterns. |
1307 |
+ |
Blended materials should not be light source types or virtual source types. |
1308 |
|
The basic types are given below. |
1309 |
|
.LP |
1310 |
|
.UL Mixfunc |
1326 |
|
Vname is the coefficient defined in funcfile that determines the influence |
1327 |
|
of foreground. |
1328 |
|
The background coefficient is always (1-vname). |
1098 |
– |
Since the references are not resolved until runtime, the last |
1099 |
– |
definitions of the modifier id's will be used. |
1100 |
– |
This can result in modifier loops, which are detected by the |
1101 |
– |
renderer. |
1329 |
|
.LP |
1330 |
|
.UL Mixdata |
1331 |
|
.PP |
1426 |
|
The following variables are particularly important: |
1427 |
|
.DS |
1428 |
|
Dx, Dy, Dz - incident ray direction |
1202 |
– |
Px, Py, Pz - intersection point |
1429 |
|
Nx, Ny, Nz - surface normal at intersection point |
1430 |
+ |
Px, Py, Pz - intersection point |
1431 |
+ |
T - distance from start |
1432 |
+ |
Ts - single ray (shadow) distance |
1433 |
|
Rdot - cosine between ray and normal |
1434 |
|
arg(0) - number of real arguments |
1435 |
|
arg(i) - i'th real argument |
1436 |
|
.DE |
1437 |
+ |
For mesh objects, the local surface coordinates are available: |
1438 |
+ |
.DS |
1439 |
+ |
Lu, Lv - local (u,v) coordinates |
1440 |
+ |
.DE |
1441 |
|
For BRDF types, the following variables are defined as well: |
1442 |
|
.DS |
1443 |
|
NxP, NyP, NzP - perturbed surface normal |
1452 |
|
variables are global, a period (`.') can be given in |
1453 |
|
place of the file name. |
1454 |
|
It is also possible to give an expression instead of a straight |
1455 |
< |
variable name in a scene file, although such expressions should |
1456 |
< |
be kept simple as they cannot contain any white space. |
1224 |
< |
Also, functions (requiring parameters) |
1455 |
> |
variable name in a scene file. |
1456 |
> |
Functions (requiring parameters) |
1457 |
|
must be given as names and not as expressions. |
1458 |
|
.PP |
1459 |
|
Constant expressions are used as an optimization in function |
1617 |
|
Pictures may be displayed directly under X11 using the program |
1618 |
|
.I ximage, |
1619 |
|
or converted a standard image format. |
1620 |
< |
.I Ra_avs |
1621 |
< |
converts to and from AVS image format. |
1390 |
< |
.I Ra_pict |
1391 |
< |
converts to Macintosh 32-bit PICT2 format. |
1620 |
> |
.I Ra_bmp |
1621 |
> |
converts to and from Microsoft Bitmap images. |
1622 |
|
.I Ra_ppm |
1623 |
|
converts to and from Poskanzer Portable Pixmap formats. |
1394 |
– |
.I Ra_pr |
1395 |
– |
converts to and from Sun 8-bit rasterfile format. |
1396 |
– |
.I Ra_pr24 |
1397 |
– |
converts to and from Sun 24-bit rasterfile format. |
1624 |
|
.I Ra_ps |
1625 |
|
converts to PostScript color and greyscale formats. |
1626 |
|
.I Ra_rgbe |
1636 |
|
.NH 1 |
1637 |
|
License |
1638 |
|
.PP |
1639 |
< |
Radiance is a registered copyright of The Regents of the University of |
1640 |
< |
California ("The Regents"). The Regents grant to you a nonexclusive, |
1641 |
< |
nontransferable license ("License") to use Radiance source code without fee. |
1642 |
< |
You may not sell or distribute Radiance to others without the prior express |
1643 |
< |
written permission of The Regents. |
1644 |
< |
You may compile and use this software on any machines to which you have |
1645 |
< |
personal access, and may share its use with others who have access to the |
1646 |
< |
same machines. |
1647 |
< |
.PP |
1648 |
< |
NEITHER THE UNITED STATES NOR THE UNITED STATES DEPARTMENT OF ENERGY, NOR ANY |
1649 |
< |
OF THEIR EMPLOYEES, MAKES ANY WARRANTY, EXPRESS OR IMPLIED, OR ASSUMES ANY |
1650 |
< |
LEGAL LIABILITY OR RESPONSIBILITY FOR THE ACCURACY, COMPLETENESS, OR |
1651 |
< |
USEFULNESS OF ANY INFORMATION, APPARATUS, PRODUCT, OR PROCESS DISCLOSED, OR |
1652 |
< |
REPRESENTS THAT ITS USE WOULD NOT INFRINGE PRIVATELY OWNED RIGHTS. |
1653 |
< |
By downloading, using or copying this software, you agree to abide by the |
1654 |
< |
intellectual property laws and all other applicable laws of the United |
1655 |
< |
States, and by the terms of this License Agreement. Ownership of the software |
1656 |
< |
shall remain solely in The Regents. |
1657 |
< |
The Regents shall have the right to terminate this License immediately by |
1658 |
< |
written notice upon your breach of, or noncompliance with, any of its terms. |
1659 |
< |
You shall be liable for any infringement or damages resulting from your |
1660 |
< |
failure to abide by the terms of this License Agreement. |
1661 |
< |
.PP |
1662 |
< |
NOTICE: The Government is granted for itself and others acting on its behalf |
1663 |
< |
a paid-up, nonexclusive irrevocable worldwide license in this data to |
1664 |
< |
reproduce, prepare derivative works, and perform publicly and display |
1665 |
< |
publicly. Beginning five (5) years after permission to assert copyright is |
1666 |
< |
granted, subject to two possible five year renewals, the Government is |
1667 |
< |
granted for itself and others acting on its behalf a paid-up, non-exclusive, |
1668 |
< |
irrevocable worldwide license in this data to reproduce, prepare derivative |
1669 |
< |
works, distribute copies to the public, perform publicly and display |
1670 |
< |
publicly, and to permit others to do so. |
1639 |
> |
.DS |
1640 |
> |
The Radiance Software License, Version 1.0 |
1641 |
> |
|
1642 |
> |
Copyright (c) 1990 - 2008 The Regents of the University of California, |
1643 |
> |
through Lawrence Berkeley National Laboratory. All rights reserved. |
1644 |
> |
|
1645 |
> |
Redistribution and use in source and binary forms, with or without |
1646 |
> |
modification, are permitted provided that the following conditions |
1647 |
> |
are met: |
1648 |
> |
|
1649 |
> |
1. Redistributions of source code must retain the above copyright |
1650 |
> |
notice, this list of conditions and the following disclaimer. |
1651 |
> |
|
1652 |
> |
2. Redistributions in binary form must reproduce the above copyright |
1653 |
> |
notice, this list of conditions and the following disclaimer in |
1654 |
> |
the documentation and/or other materials provided with the |
1655 |
> |
distribution. |
1656 |
> |
|
1657 |
> |
3. The end-user documentation included with the redistribution, |
1658 |
> |
if any, must include the following acknowledgment: |
1659 |
> |
"This product includes Radiance software |
1660 |
> |
(http://radsite.lbl.gov/) |
1661 |
> |
developed by the Lawrence Berkeley National Laboratory |
1662 |
> |
(http://www.lbl.gov/)." |
1663 |
> |
Alternately, this acknowledgment may appear in the software itself, |
1664 |
> |
if and wherever such third-party acknowledgments normally appear. |
1665 |
> |
|
1666 |
> |
4. The names "Radiance," "Lawrence Berkeley National Laboratory" |
1667 |
> |
and "The Regents of the University of California" must |
1668 |
> |
not be used to endorse or promote products derived from this |
1669 |
> |
software without prior written permission. For written |
1670 |
> |
permission, please contact [email protected]. |
1671 |
> |
|
1672 |
> |
5. Products derived from this software may not be called "Radiance", |
1673 |
> |
nor may "Radiance" appear in their name, without prior written |
1674 |
> |
permission of Lawrence Berkeley National Laboratory. |
1675 |
> |
|
1676 |
> |
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED |
1677 |
> |
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES |
1678 |
> |
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
1679 |
> |
DISCLAIMED. IN NO EVENT SHALL Lawrence Berkeley National Laboratory OR |
1680 |
> |
ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
1681 |
> |
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
1682 |
> |
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF |
1683 |
> |
USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
1684 |
> |
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
1685 |
> |
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT |
1686 |
> |
OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
1687 |
> |
SUCH DAMAGE. |
1688 |
> |
.DE |
1689 |
|
.NH 1 |
1690 |
|
Acknowledgements |
1691 |
|
.PP |
1701 |
|
in Lausanne, Switzerland. |
1702 |
|
.NH 1 |
1703 |
|
References |
1704 |
+ |
.LP |
1705 |
+ |
Ward, Gregory J., Bruno Bueno, David Geisler-Moroder, |
1706 |
+ |
Lars O. Grobe, Jacob C. Jonsson, Eleanor |
1707 |
+ |
S. Lee, Taoning Wang, Helen Rose Wilson, |
1708 |
+ |
``Daylight Simulation Workflows Incorporating |
1709 |
+ |
Measured Bidirectional Scattering Distribution Functions,'' |
1710 |
+ |
.I "Energy & Buildings", |
1711 |
+ |
Vol. 259, No. 111890, 2022. |
1712 |
+ |
.LP |
1713 |
+ |
Wang, Taoning, Gregory Ward, Eleanor Lee, |
1714 |
+ |
``Efficient modeling of optically-complex, non-coplanar |
1715 |
+ |
exterior shading: Validation of matrix algebraic methods,'' |
1716 |
+ |
.I "Energy & Buildings", |
1717 |
+ |
vol. 174, pp. 464-83, Sept. 2018. |
1718 |
+ |
.LP |
1719 |
+ |
Lee, Eleanor S., David Geisler-Moroder, Gregory Ward, |
1720 |
+ |
``Modeling the direct sun component in buildings using matrix |
1721 |
+ |
algebraic approaches: Methods and validation,'' |
1722 |
+ |
.I Solar Energy, |
1723 |
+ |
vol. 160, 15 January 2018, pp 380-395. |
1724 |
+ |
.LP |
1725 |
+ |
Ward, G., M. Kurt & N. Bonneel, |
1726 |
+ |
``Reducing Anisotropic BSDF Measurement to Common Practice,'' |
1727 |
+ |
.I Workshop on Material Appearance Modeling, |
1728 |
+ |
2014. |
1729 |
+ |
.LP |
1730 |
+ |
McNeil, A., C.J. Jonsson, D. Appelfeld, G. Ward, E.S. Lee, |
1731 |
+ |
``A validation of a ray-tracing tool used to generate |
1732 |
+ |
bi-directional scattering distribution functions for |
1733 |
+ |
complex fenestration systems,'' |
1734 |
+ |
.I "Solar Energy", |
1735 |
+ |
98, 404-14, November 2013. |
1736 |
+ |
.LP |
1737 |
+ |
Ward, G., R. Mistrick, E.S. Lee, A. McNeil, J. Jonsson, |
1738 |
+ |
``Simulating the Daylight Performance of Complex Fenestration Systems |
1739 |
+ |
Using Bidirectional Scattering Distribution Functions within Radiance,'' |
1740 |
+ |
.I "Leukos", |
1741 |
+ |
7(4), |
1742 |
+ |
April 2011. |
1743 |
+ |
.LP |
1744 |
+ |
Cater, K., A. Chalmers, G. Ward, |
1745 |
+ |
``Detail to Attention: Exploiting Visual Tasks for Selective Rendering,'' |
1746 |
+ |
.I "Eurograhics Symposium on Rendering", |
1747 |
+ |
June 2003. |
1748 |
+ |
.LP |
1749 |
+ |
Ward, G., Elena Eydelberg-Vileshin, |
1750 |
+ |
``Picture Perfect RGB Rendering Using Spectral Prefiltering and |
1751 |
+ |
Sharp Color Primaries,'' |
1752 |
+ |
13th Eurographics Workshop on Rendering, P. Debevec and |
1753 |
+ |
S. Gibson (Editors), June 2002. |
1754 |
+ |
.LP |
1755 |
+ |
Ward, G. and M. Simmons, |
1756 |
+ |
``The Holodeck Ray Cache: An Interactive Rendering System for Global |
1757 |
+ |
Illumination in Nondiffuse Environments,'' |
1758 |
+ |
.I "ACM Transactions on Graphics," |
1759 |
+ |
18(4):361-98, October 1999. |
1760 |
+ |
.LP |
1761 |
+ |
Larson, G.W., H. Rushmeier, C. Piatko, |
1762 |
+ |
``A Visibility Matching Tone Reproduction Operator for High Dynamic |
1763 |
+ |
Range Scenes,'' |
1764 |
+ |
.I "IEEE Transactions on Visualization and Computer Graphics", |
1765 |
+ |
3(4), 291-306, December 1997. |
1766 |
+ |
.LP |
1767 |
+ |
Ward, G., |
1768 |
+ |
``Making Global Illumination User Friendly,'' |
1769 |
+ |
.I "Sixth Eurographics Workshop on Rendering", |
1770 |
+ |
proceedings to be published by Springer-Verlag, |
1771 |
+ |
Dublin, Ireland, June 1995. |
1772 |
+ |
.LP |
1773 |
+ |
Rushmeier, H., G. Ward, C. Piatko, P. Sanders, B. Rust, |
1774 |
+ |
``Comparing Real and Synthetic Images: Some Ideas about Metrics,'' |
1775 |
+ |
.I "Sixth Eurographics Workshop on Rendering", |
1776 |
+ |
proceedings to be published by Springer-Verlag, |
1777 |
+ |
Dublin, Ireland, June 1995. |
1778 |
|
.LP |
1779 |
|
Ward, G., |
1780 |
|
``The Radiance Lighting Simulation and Rendering System,'' |