| 2 |
|
.\" Print using the -ms macro package |
| 3 |
|
.DA 1/20/99 |
| 4 |
|
.LP |
| 5 |
< |
.tl """Copyright \(co 1996 Regents, University of California |
| 5 |
> |
.tl """Copyright \(co 2003 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.) |
| 139 |
|
An alias gets its type and arguments from a previously defined primitive. |
| 140 |
|
This is useful when the same material is used with a different |
| 141 |
|
modifier, or as a convenient naming mechanism. |
| 142 |
+ |
The reserved modifier name "inherit" may be used to specificy that |
| 143 |
+ |
an alias will inherit its modifier from the original. |
| 144 |
|
Surfaces cannot be aliased. |
| 145 |
|
.PP |
| 146 |
|
A line beginning with an exclamation point, `!', |
| 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 |
| 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) |
| 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 |
| 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). |
| 1213 |
|
The following variables are particularly important: |
| 1214 |
|
.DS |
| 1215 |
|
Dx, Dy, Dz - incident ray direction |
| 1200 |
– |
Px, Py, Pz - intersection point |
| 1216 |
|
Nx, Ny, Nz - surface normal at intersection point |
| 1217 |
+ |
Px, Py, Pz - intersection point |
| 1218 |
+ |
T - distance from start |
| 1219 |
+ |
Ts - single ray (shadow) distance |
| 1220 |
|
Rdot - cosine between ray and normal |
| 1221 |
|
arg(0) - number of real arguments |
| 1222 |
|
arg(i) - i'th real argument |
| 1223 |
|
.DE |
| 1224 |
+ |
For mesh objects, the local surface coordinates are available: |
| 1225 |
+ |
.DS |
| 1226 |
+ |
Lu, Lv - local (u,v) coordinates |
| 1227 |
+ |
.DE |
| 1228 |
|
For BRDF types, the following variables are defined as well: |
| 1229 |
|
.DS |
| 1230 |
|
NxP, NyP, NzP - perturbed surface normal |
| 1240 |
|
place of the file name. |
| 1241 |
|
It is also possible to give an expression instead of a straight |
| 1242 |
|
variable name in a scene file, although such expressions should |
| 1243 |
< |
be kept simple as they cannot contain any white space. |
| 1243 |
> |
be kept simple if possible. |
| 1244 |
|
Also, functions (requiring parameters) |
| 1245 |
|
must be given as names and not as expressions. |
| 1246 |
|
.PP |
| 1370 |
|
.I Rview |
| 1371 |
|
is ray-tracing program for viewing a scene interactively. |
| 1372 |
|
When the user specifies a new perspective, |
| 1373 |
< |
.I rview |
| 1373 |
> |
.I rvu |
| 1374 |
|
quickly displays a rough |
| 1375 |
|
image on the terminal, then progressively |
| 1376 |
|
increases the resolution as the user looks on. |
| 1430 |
|
.NH 1 |
| 1431 |
|
License |
| 1432 |
|
.PP |
| 1433 |
< |
Radiance is a registered copyright of The Regents of the University of |
| 1434 |
< |
California ("The Regents"). The Regents grant to you a nonexclusive, |
| 1435 |
< |
nontransferable license ("License") to use Radiance source code without fee. |
| 1436 |
< |
You may not sell or distribute Radiance to others without the prior express |
| 1437 |
< |
written permission of The Regents. |
| 1438 |
< |
You may compile and use this software on any machines to which you have |
| 1439 |
< |
personal access, and may share its use with others who have access to the |
| 1440 |
< |
same machines. |
| 1441 |
< |
.PP |
| 1442 |
< |
NEITHER THE UNITED STATES NOR THE UNITED STATES DEPARTMENT OF ENERGY, NOR ANY |
| 1443 |
< |
OF THEIR EMPLOYEES, MAKES ANY WARRANTY, EXPRESS OR IMPLIED, OR ASSUMES ANY |
| 1444 |
< |
LEGAL LIABILITY OR RESPONSIBILITY FOR THE ACCURACY, COMPLETENESS, OR |
| 1445 |
< |
USEFULNESS OF ANY INFORMATION, APPARATUS, PRODUCT, OR PROCESS DISCLOSED, OR |
| 1446 |
< |
REPRESENTS THAT ITS USE WOULD NOT INFRINGE PRIVATELY OWNED RIGHTS. |
| 1447 |
< |
By downloading, using or copying this software, you agree to abide by the |
| 1448 |
< |
intellectual property laws and all other applicable laws of the United |
| 1449 |
< |
States, and by the terms of this License Agreement. Ownership of the software |
| 1450 |
< |
shall remain solely in The Regents. |
| 1451 |
< |
The Regents shall have the right to terminate this License immediately by |
| 1452 |
< |
written notice upon your breach of, or noncompliance with, any of its terms. |
| 1453 |
< |
You shall be liable for any infringement or damages resulting from your |
| 1454 |
< |
failure to abide by the terms of this License Agreement. |
| 1455 |
< |
.PP |
| 1456 |
< |
NOTICE: The Government is granted for itself and others acting on its behalf |
| 1457 |
< |
a paid-up, nonexclusive irrevocable worldwide license in this data to |
| 1458 |
< |
reproduce, prepare derivative works, and perform publicly and display |
| 1459 |
< |
publicly. Beginning five (5) years after permission to assert copyright is |
| 1460 |
< |
granted, subject to two possible five year renewals, the Government is |
| 1461 |
< |
granted for itself and others acting on its behalf a paid-up, non-exclusive, |
| 1462 |
< |
irrevocable worldwide license in this data to reproduce, prepare derivative |
| 1463 |
< |
works, distribute copies to the public, perform publicly and display |
| 1464 |
< |
publicly, and to permit others to do so. |
| 1433 |
> |
.DS |
| 1434 |
> |
The Radiance Software License, Version 1.0 |
| 1435 |
> |
|
| 1436 |
> |
Copyright (c) 1990 - 2002 The Regents of the University of California, |
| 1437 |
> |
through Lawrence Berkeley National Laboratory. All rights reserved. |
| 1438 |
> |
|
| 1439 |
> |
Redistribution and use in source and binary forms, with or without |
| 1440 |
> |
modification, are permitted provided that the following conditions |
| 1441 |
> |
are met: |
| 1442 |
> |
|
| 1443 |
> |
1. Redistributions of source code must retain the above copyright |
| 1444 |
> |
notice, this list of conditions and the following disclaimer. |
| 1445 |
> |
|
| 1446 |
> |
2. Redistributions in binary form must reproduce the above copyright |
| 1447 |
> |
notice, this list of conditions and the following disclaimer in |
| 1448 |
> |
the documentation and/or other materials provided with the |
| 1449 |
> |
distribution. |
| 1450 |
> |
|
| 1451 |
> |
3. The end-user documentation included with the redistribution, |
| 1452 |
> |
if any, must include the following acknowledgment: |
| 1453 |
> |
"This product includes Radiance software |
| 1454 |
> |
(http://radsite.lbl.gov/) |
| 1455 |
> |
developed by the Lawrence Berkeley National Laboratory |
| 1456 |
> |
(http://www.lbl.gov/)." |
| 1457 |
> |
Alternately, this acknowledgment may appear in the software itself, |
| 1458 |
> |
if and wherever such third-party acknowledgments normally appear. |
| 1459 |
> |
|
| 1460 |
> |
4. The names "Radiance," "Lawrence Berkeley National Laboratory" |
| 1461 |
> |
and "The Regents of the University of California" must |
| 1462 |
> |
not be used to endorse or promote products derived from this |
| 1463 |
> |
software without prior written permission. For written |
| 1464 |
> |
permission, please contact [email protected]. |
| 1465 |
> |
|
| 1466 |
> |
5. Products derived from this software may not be called "Radiance", |
| 1467 |
> |
nor may "Radiance" appear in their name, without prior written |
| 1468 |
> |
permission of Lawrence Berkeley National Laboratory. |
| 1469 |
> |
|
| 1470 |
> |
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED |
| 1471 |
> |
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES |
| 1472 |
> |
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
| 1473 |
> |
DISCLAIMED. IN NO EVENT SHALL Lawrence Berkeley National Laboratory OR |
| 1474 |
> |
ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
| 1475 |
> |
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
| 1476 |
> |
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF |
| 1477 |
> |
USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
| 1478 |
> |
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
| 1479 |
> |
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT |
| 1480 |
> |
OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
| 1481 |
> |
SUCH DAMAGE. |
| 1482 |
> |
.DE |
| 1483 |
|
.NH 1 |
| 1484 |
|
Acknowledgements |
| 1485 |
|
.PP |
| 1495 |
|
in Lausanne, Switzerland. |
| 1496 |
|
.NH 1 |
| 1497 |
|
References |
| 1498 |
+ |
.LP |
| 1499 |
+ |
Ward, G., Elena Eydelberg-Vileshin, |
| 1500 |
+ |
``Picture Perfect RGB Rendering Using Spectral Prefiltering and |
| 1501 |
+ |
Sharp Color Primaries,'' |
| 1502 |
+ |
13th Eurographics Workshop on Rendering, P. Debevec and |
| 1503 |
+ |
S. Gibson (Editors), June 2002. |
| 1504 |
+ |
.LP |
| 1505 |
+ |
Ward, G. and M. Simmons, |
| 1506 |
+ |
``The Holodeck Ray Cache: An Interactive Rendering System for Global |
| 1507 |
+ |
Illumination in Nondiffuse Environments,'' |
| 1508 |
+ |
.I "ACM Transactions on Graphics," |
| 1509 |
+ |
18(4):361-98, October 1999. |
| 1510 |
+ |
.LP |
| 1511 |
+ |
Larson, G.W., H. Rushmeier, C. Piatko, |
| 1512 |
+ |
``A Visibility Matching Tone Reproduction Operator for High Dynamic |
| 1513 |
+ |
Range Scenes,'' |
| 1514 |
+ |
.I "IEEE Transactions on Visualization and Computer Graphics", |
| 1515 |
+ |
3(4), 291-306, December 1997. |
| 1516 |
+ |
.LP |
| 1517 |
+ |
Ward, G., |
| 1518 |
+ |
``Making Global Illumination User Friendly,'' |
| 1519 |
+ |
.I "Sixth Eurographics Workshop on Rendering", |
| 1520 |
+ |
proceedings to be published by Springer-Verlag, |
| 1521 |
+ |
Dublin, Ireland, June 1995. |
| 1522 |
+ |
.LP |
| 1523 |
+ |
Rushmeier, H., G. Ward, C. Piatko, P. Sanders, B. Rust, |
| 1524 |
+ |
``Comparing Real and Synthetic Images: Some Ideas about Metrics,'' |
| 1525 |
+ |
.I "Sixth Eurographics Workshop on Rendering", |
| 1526 |
+ |
proceedings to be published by Springer-Verlag, |
| 1527 |
+ |
Dublin, Ireland, June 1995. |
| 1528 |
|
.LP |
| 1529 |
|
Ward, G., |
| 1530 |
|
``The Radiance Lighting Simulation and Rendering System,'' |