1 |
< |
.\" RCSid "$Id" |
1 |
> |
.\" RCSid "$Id$" |
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 2004 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 Program |
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,'' |