--- ray/doc/ray.1 2006/10/18 00:43:09 1.11 +++ ray/doc/ray.1 2011/06/22 00:13:25 1.21 @@ -1,8 +1,8 @@ .\" RCSid "$Id" .\" Print using the -ms macro package -.DA 10/17/2006 +.DA 2/17/2011 .LP -.tl """Copyright \(co 2006 Regents, University of California +.tl """Copyright \(co 2011 Regents, University of California .sp 2 .TL The @@ -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 @@ -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