--- ray/doc/ray.1 2004/09/21 18:44:09 1.6 +++ ray/doc/ray.1 2011/06/22 00:13:25 1.21 @@ -1,8 +1,8 @@ -.\" RCSid "$Id: ray.1,v 1.6 2004/09/21 18:44:09 greg Exp $" +.\" RCSid "$Id" .\" Print using the -ms macro package -.DA 1/20/99 +.DA 2/17/2011 .LP -.tl """Copyright \(co 2003 Regents, University of California +.tl """Copyright \(co 2011 Regents, University of California .sp 2 .TL The @@ -402,7 +402,7 @@ mod spotlight id .LP .UL Mirror .PP -Mirror is used for planar surfaces that produce secondary +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. @@ -426,12 +426,12 @@ mod mirror id .UL Prism1 .PP The prism1 material is for general light redirection from prismatic -glazings, generating secondary light sources. +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. +to work properly with virtual light sources. The arguments give the coefficient for the redirected light and its direction. .DS @@ -491,7 +491,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: .DS P(theta) = (1 - g*g) / (1 + g*g - 2*g*cos(theta))^1.5 .DE @@ -865,6 +865,73 @@ mod transdata id 6+ red green blue rspec trans tspec A7 .. .DE .LP +.UL BSDF +.PP +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. +.DS +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 +.DE +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). +.LP +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. +.LP +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. +.LP +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.)\0 +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. +.LP .UL Antimatter .PP Antimatter is a material that can "subtract" volumes from other volumes. @@ -1109,10 +1176,6 @@ which serves as a form of opacity control when used wi 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 runtime, the last -definitions of the modifier id's will be used. -This can result in modifier loops, which are detected by the -renderer. .LP .UL Mixdata .PP @@ -1239,9 +1302,8 @@ If no file is needed by a given primitive because all 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) +variable name in a scene file. +Functions (requiring parameters) must be given as names and not as expressions. .PP Constant expressions are used as an optimization in function @@ -1370,7 +1432,7 @@ programs and directs the use of a scene description. .I Rview is ray-tracing program for viewing a scene interactively. When the user specifies a new perspective, -.I rvu +.I rview quickly displays a rough image on the terminal, then progressively increases the resolution as the user looks on. @@ -1405,16 +1467,10 @@ converts a picture to and from simpler formats. Pictures may be displayed directly under X11 using the program .I ximage, or converted a standard image format. -.I Ra_avs -converts to and from AVS image format. -.I Ra_pict -converts to Macintosh 32-bit PICT2 format. +.I Ra_bmp +converts to and from Microsoft Bitmap images. .I Ra_ppm converts to and from Poskanzer Portable Pixmap formats. -.I Ra_pr -converts to and from Sun 8-bit rasterfile format. -.I Ra_pr24 -converts to and from Sun 24-bit rasterfile format. .I Ra_ps converts to PostScript color and greyscale formats. .I Ra_rgbe @@ -1433,7 +1489,7 @@ License .DS The Radiance Software License, Version 1.0 -Copyright (c) 1990 - 2002 The Regents of the University of California, +Copyright (c) 1990 - 2008 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 @@ -1495,6 +1551,11 @@ the Ecole Polytechnique Federale de Lausanne (EPFL Uni in Lausanne, Switzerland. .NH 1 References +.LP +Cater, K., A. Chalmers, G. Ward, +``Detail to Attention: Exploiting Visual Tasks for Selective Rendering,'' +.I "Eurograhics Symposium on Rendering", +June 2003. .LP Ward, G., Elena Eydelberg-Vileshin, ``Picture Perfect RGB Rendering Using Spectral Prefiltering and