ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/doc/ray.1
(Generate patch)

Comparing ray/doc/ray.1 (file contents):
Revision 1.2 by greg, Tue Mar 11 19:29:04 2003 UTC vs.
Revision 1.31 by greg, Sat Apr 8 00:09:35 2017 UTC

# Line 1 | Line 1
1 < .\" RCSid "$Id"
1 > .\" RCSid "$Id$"
2   .\" Print using the -ms macro package
3 < .DA 1/20/99
3 > .DA 07/10/2016
4   .LP
5 < .tl """Copyright \(co 1996 Regents, University of California
5 > .tl """Copyright \(co 2016 Regents, University of California
6   .sp 2
7   .TL
8   The
# Line 10 | Line 10 | 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
# Line 49 | Line 47 | which produces a picture from a scene description.
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
# Line 84 | Line 95 | It is stored as ASCII text, with the following basic f
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  
# Line 112 | Line 123 | primitives.
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.)
# Line 142 | Line 152 | confusion will result.
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.
# Line 150 | Line 160 | 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
# Line 223 | Line 233 | mod cone id
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
# Line 262 | Line 272 | mod ring id
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
# Line 280 | Line 294 | permitting very detailed geometries that would otherwi
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
# Line 318 | Line 332 | The basic types are given below.
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
# Line 378 | Line 392 | Spotlight is used for self-luminous surfaces having di
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
# Line 388 | Line 402 | mod spotlight id
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.
# Line 412 | Line 426 | mod mirror id
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
# Line 477 | Line 491 | a perfectly scattering medium (no absorption).
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
# Line 566 | Line 580 | direction vector
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).
# Line 608 | Line 622 | mod trans2 id
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 + .DS
634 + mod ashik2 id
635 + 4+ ux uy uz funcfile transform
636 + 0
637 + 8 dred dgrn dblu sred sgrn sblu u-power v-power
638 + .DE
639 + .LP
640   .UL Dielectric
641   .PP
642   A dielectric material is transparent, and it refracts light
# Line 851 | Line 880 | mod transdata id
880   6+ red green blue rspec trans tspec A7 ..
881   .DE
882   .LP
883 + .UL BSDF
884 + .PP
885 + The BSDF material type loads an XML (eXtensible Markup Language)
886 + file describing a bidirectional scattering distribution function.
887 + Real arguments to this material may define additional
888 + diffuse components that augment the BSDF data.
889 + String arguments are used to define thickness for proxied
890 + surfaces and the "up" orientation for the material.
891 + .DS
892 + mod BSDF id
893 + 6+ thick BSDFfile ux uy uz funcfile transform
894 + 0
895 + 0|3|6|9
896 +     rfdif gfdif bfdif
897 +     rbdif gbdif bbdif
898 +     rtdif gtdif btdif
899 + .DE
900 + The first string argument is a "thickness" parameter that may be used
901 + to hide detail geometry being proxied by an aggregate BSDF material.
902 + If a view or shadow ray hits a BSDF proxy with non-zero thickness,
903 + it will pass directly through as if the surface were not there.
904 + Similar to the illum type, this permits direct viewing and
905 + shadow testing of complex geometry.
906 + The BSDF is used when a scattered (indirect) ray hits the surface,
907 + and any transmitted sample rays will be offset by the thickness amount
908 + to avoid the hidden geometry and gather samples from the other side.
909 + In this manner, BSDF surfaces can improve the results for indirect
910 + scattering from complex systems without sacrificing appearance or
911 + shadow accuracy.
912 + If the BSDF has transmission and back-side reflection data,
913 + a parallel BSDF surface may be
914 + placed slightly less than the given thickness away from the front surface
915 + to enclose the complex geometry on both sides.
916 + The sign of the thickness is important, as it indicates whether the
917 + proxied geometry is behind the BSDF surface (when thickness is positive)
918 + or in front (when thickness is negative).
919 + .LP
920 + The second string argument is the name of the BSDF file, which is
921 + found in the usual auxiliary locations.
922 + The following three string parameters name variables for an "up" vector,
923 + which together with the surface normal, define the
924 + local coordinate system that orients the BSDF.
925 + These variables, along with the thickness, are defined in a function
926 + file given as the next string argument.
927 + An optional transform is used to scale the thickness and reorient the up vector.
928 + .LP
929 + If no real arguments are given, the BSDF is used by itself to determine
930 + reflection and transmission.
931 + If there are at least 3 real arguments, the first triplet is an
932 + additional diffuse reflectance for the front side.
933 + At least 6 real arguments adds diffuse reflectance to the rear side of the surface.
934 + If there are 9 real arguments, the final triplet will be taken as an additional
935 + diffuse transmittance.
936 + All diffuse components as well as the non-diffuse transmission are
937 + modified by patterns applied to this material.
938 + The non-diffuse reflection from either side are unaffected.
939 + Textures perturb the effective surface normal in the usual way.
940 + .LP
941 + The surface normal of this type is not altered to face the incoming ray,
942 + so the front and back BSDF reflections may differ.
943 + (Transmission is identical front-to-back by physical law.)\0
944 + If back visibility is turned off during rendering and there is no
945 + transmission or back-side reflection, only then the surface will be
946 + invisible from behind.
947 + Unlike other data-driven material types, the BSDF type is fully
948 + supported and all parts of the distribution are properly sampled.
949 + .LP
950   .UL Antimatter
951   .PP
952   Antimatter is a material that can "subtract" volumes from other volumes.
# Line 865 | Line 961 | N mod1 mod2 .. modN
961   The first modifier will also be used to shade the area leaving the
962   antimatter volume and entering the regular volume.
963   If mod1 is void, the antimatter volume is completely invisible.
964 < Antimatter does not work properly with the material type "trans",
965 < and multiple antimatter surfaces should be disjoint.
964 > If shading is desired at antimatter surfaces, it is important
965 > that the related volumes are closed with outward-facing normals.
966 > Antimatter surfaces should not intersect with other antimatter boundaries,
967 > and it is unwise to use the same modifier in nested antimatter volumes.
968   The viewpoint must be outside all volumes concerned for a correct
969   rendering.
970   .NH 3
# Line 1074 | Line 1172 | between 0.1 (for tightly spaced characters) and 0.3 (f
1172   Mixtures
1173   .PP
1174   A mixture is a blend of one or more materials or textures and patterns.
1175 + Blended materials should not be light source types or virtual source types.
1176   The basic types are given below.
1177   .LP
1178   .UL Mixfunc
# Line 1095 | Line 1194 | which serves as a form of opacity control when used wi
1194   Vname is the coefficient defined in funcfile that determines the influence
1195   of foreground.
1196   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.
1197   .LP
1198   .UL Mixdata
1199   .PP
# Line 1199 | Line 1294 | and they are listed in the file
1294   The following variables are particularly important:
1295   .DS
1296          Dx, Dy, Dz              - incident ray direction
1202        Px, Py, Pz              - intersection point
1297          Nx, Ny, Nz              - surface normal at intersection point
1298 +        Px, Py, Pz              - intersection point
1299 +        T                       - distance from start
1300 +        Ts                      - single ray (shadow) distance
1301          Rdot                    - cosine between ray and normal
1302          arg(0)                  - number of real arguments
1303          arg(i)                  - i'th real argument
1304   .DE
1305 + For mesh objects, the local surface coordinates are available:
1306 + .DS
1307 +        Lu, Lv                  - local (u,v) coordinates
1308 + .DE
1309   For BRDF types, the following variables are defined as well:
1310   .DS
1311          NxP, NyP, NzP           - perturbed surface normal
# Line 1219 | Line 1320 | If no file is needed by a given primitive because all
1320   variables are global, a period (`.') can be given in
1321   place of the file name.
1322   It is also possible to give an expression instead of a straight
1323 < variable name in a scene file, although such expressions should
1324 < be kept simple as they cannot contain any white space.
1224 < Also, functions (requiring parameters)
1323 > variable name in a scene file.
1324 > Functions (requiring parameters)
1325   must be given as names and not as expressions.
1326   .PP
1327   Constant expressions are used as an optimization in function
# Line 1385 | Line 1485 | converts a picture to and from simpler formats.
1485   Pictures may be displayed directly under X11 using the program
1486   .I ximage,
1487   or converted a standard image format.
1488 < .I Ra_avs
1489 < converts to and from AVS image format.
1390 < .I Ra_pict
1391 < converts to Macintosh 32-bit PICT2 format.
1488 > .I Ra_bmp
1489 > converts to and from Microsoft Bitmap images.
1490   .I Ra_ppm
1491   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.
1492   .I Ra_ps
1493   converts to PostScript color and greyscale formats.
1494   .I Ra_rgbe
# Line 1410 | Line 1504 | converts to and from Radiance CIE picture format.
1504   .NH 1
1505   License
1506   .PP
1507 < Radiance is a registered copyright of The Regents of the University of
1508 < California ("The Regents"). The Regents grant to you a nonexclusive,
1509 < nontransferable license ("License") to use Radiance source code without fee.
1510 < You may not sell or distribute Radiance to others without the prior express
1511 < written permission of The Regents.
1512 < You may compile and use this software on any machines to which you have
1513 < personal access, and may share its use with others who have access to the
1514 < same machines.
1515 < .PP
1516 < NEITHER THE UNITED STATES NOR THE UNITED STATES DEPARTMENT OF ENERGY, NOR ANY
1517 < OF THEIR EMPLOYEES, MAKES ANY WARRANTY, EXPRESS OR IMPLIED, OR ASSUMES ANY
1518 < LEGAL LIABILITY OR RESPONSIBILITY FOR THE ACCURACY, COMPLETENESS, OR
1519 < USEFULNESS OF ANY INFORMATION, APPARATUS, PRODUCT, OR PROCESS DISCLOSED, OR
1520 < REPRESENTS THAT ITS USE WOULD NOT INFRINGE PRIVATELY OWNED RIGHTS.
1521 < By downloading, using or copying this software, you agree to abide by the
1522 < intellectual property laws and all other applicable laws of the United
1523 < States, and by the terms of this License Agreement. Ownership of the software
1524 < shall remain solely in The Regents.
1525 < The Regents shall have the right to terminate this License immediately by
1526 < written notice upon your breach of, or noncompliance with, any of its terms.
1527 < You shall be liable for any infringement or damages resulting from your
1528 < failure to abide by the terms of this License Agreement.
1529 < .PP
1530 < NOTICE: The Government is granted for itself and others acting on its behalf
1531 < a paid-up, nonexclusive irrevocable worldwide license in this data to
1532 < reproduce, prepare derivative works, and perform publicly and display
1533 < publicly. Beginning five (5) years after permission to assert copyright is
1534 < granted, subject to two possible five year renewals, the Government is
1535 < granted for itself and others acting on its behalf a paid-up, non-exclusive,
1536 < irrevocable worldwide license in this data to reproduce, prepare derivative
1537 < works, distribute copies to the public, perform publicly and display
1538 < publicly, and to permit others to do so.
1507 > .DS
1508 > The Radiance Software License, Version 1.0
1509 >
1510 > Copyright (c) 1990 - 2008 The Regents of the University of California,
1511 > through Lawrence Berkeley National Laboratory.   All rights reserved.
1512 >
1513 > Redistribution and use in source and binary forms, with or without
1514 > modification, are permitted provided that the following conditions
1515 > are met:
1516 >
1517 > 1. Redistributions of source code must retain the above copyright
1518 >        notice, this list of conditions and the following disclaimer.
1519 >
1520 > 2. Redistributions in binary form must reproduce the above copyright
1521 >      notice, this list of conditions and the following disclaimer in
1522 >      the documentation and/or other materials provided with the
1523 >      distribution.
1524 >
1525 > 3. The end-user documentation included with the redistribution,
1526 >          if any, must include the following acknowledgment:
1527 >            "This product includes Radiance software
1528 >                (http://radsite.lbl.gov/)
1529 >                developed by the Lawrence Berkeley National Laboratory
1530 >              (http://www.lbl.gov/)."
1531 >      Alternately, this acknowledgment may appear in the software itself,
1532 >      if and wherever such third-party acknowledgments normally appear.
1533 >
1534 > 4. The names "Radiance," "Lawrence Berkeley National Laboratory"
1535 >      and "The Regents of the University of California" must
1536 >      not be used to endorse or promote products derived from this
1537 >      software without prior written permission. For written
1538 >      permission, please contact [email protected].
1539 >
1540 > 5. Products derived from this software may not be called "Radiance",
1541 >      nor may "Radiance" appear in their name, without prior written
1542 >      permission of Lawrence Berkeley National Laboratory.
1543 >
1544 > THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
1545 > WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
1546 > OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
1547 > DISCLAIMED.   IN NO EVENT SHALL Lawrence Berkeley National Laboratory OR
1548 > ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
1549 > SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
1550 > LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
1551 > USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
1552 > ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
1553 > OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
1554 > OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
1555 > SUCH DAMAGE.
1556 > .DE
1557   .NH 1
1558   Acknowledgements
1559   .PP
# Line 1457 | Line 1569 | the Ecole Polytechnique Federale de Lausanne (EPFL Uni
1569   in Lausanne, Switzerland.
1570   .NH 1
1571   References
1572 + .LP
1573 + Ward, G., M. Kurt & N. Bonneel,
1574 + ``Reducing Anisotropic BSDF Measurement to Common Practice,''
1575 + .I Workshop on Material Appearance Modeling,
1576 + 2014.
1577 + .LP
1578 + McNeil, A., C.J. Jonsson, D. Appelfeld, G. Ward, E.S. Lee,
1579 + ``A validation of a ray-tracing tool used to generate
1580 + bi-directional scattering distribution functions for
1581 + complex fenestration systems,''
1582 + .I "Solar Energy",
1583 + 98, 404-14, November 2013.
1584 + .LP
1585 + Ward, G., R. Mistrick, E.S. Lee, A. McNeil, J. Jonsson,
1586 + ``Simulating the Daylight Performance of Complex Fenestration Systems
1587 + Using Bidirectional Scattering Distribution Functions within Radiance,''
1588 + .I "Leukos",
1589 + 7(4),
1590 + April 2011.
1591 + .LP
1592 + Cater, K., A. Chalmers, G. Ward,
1593 + ``Detail to Attention: Exploiting Visual Tasks for Selective Rendering,''
1594 + .I "Eurograhics Symposium on Rendering",
1595 + June 2003.
1596 + .LP
1597 + Ward, G., Elena Eydelberg-Vileshin,
1598 + ``Picture Perfect RGB Rendering Using Spectral Prefiltering and
1599 + Sharp Color Primaries,''
1600 + 13th Eurographics Workshop on Rendering, P. Debevec and
1601 + S. Gibson (Editors), June 2002.
1602 + .LP
1603 + Ward, G. and M. Simmons,
1604 + ``The Holodeck Ray Cache: An Interactive Rendering System for Global
1605 + Illumination in Nondiffuse Environments,''
1606 + .I "ACM Transactions on Graphics,"
1607 + 18(4):361-98, October 1999.
1608 + .LP
1609 + Larson, G.W., H. Rushmeier, C. Piatko,
1610 + ``A Visibility Matching Tone Reproduction Operator for High Dynamic
1611 + Range Scenes,''
1612 + .I "IEEE Transactions on Visualization and Computer Graphics",
1613 + 3(4), 291-306, December 1997.
1614 + .LP
1615 + Ward, G.,
1616 + ``Making Global Illumination User Friendly,''
1617 + .I "Sixth Eurographics Workshop on Rendering",
1618 + proceedings to be published by Springer-Verlag,
1619 + Dublin, Ireland, June 1995.
1620 + .LP
1621 + Rushmeier, H., G. Ward, C. Piatko, P. Sanders, B. Rust,
1622 + ``Comparing Real and Synthetic Images: Some Ideas about Metrics,''
1623 + .I "Sixth Eurographics Workshop on Rendering",
1624 + proceedings to be published by Springer-Verlag,
1625 + Dublin, Ireland, June 1995.
1626   .LP
1627   Ward, G.,
1628   ``The Radiance Lighting Simulation and Rendering System,''

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines