--- ray/doc/ray.html 2004/10/21 16:16:14 1.4 +++ ray/doc/ray.html 2011/06/21 23:58:00 1.12 @@ -1,7 +1,7 @@
@@ -564,7 +564,7 @@ A material defines the way light interacts with a sur
@@ -659,7 +659,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:P(theta) = (1 - g*g) / (1 + g*g - 2*g*cos(theta))^1.5 @@ -1053,6 +1053,84 @@ unless the line integrals consider enclosed geometry.
+ 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 ++ +
+ 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
+ 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. +
+ 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. +
+ 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.) 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. +
+ +
@@ -1528,10 +1604,8 @@ If no file is needed by a given primitive because all the required 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) must be given +of a straight variable name in a scene file. +Functions (requiring parameters) must be given as names and not as expressions.
@@ -1749,7 +1823,7 @@ or converted a standard image format using one of the
The Radiance Software License, Version 1.0 -Copyright (c) 1990 - 2002 The Regents of the University of California, +Copyright (c) 1990 - 2010 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 @@ -1822,19 +1896,24 @@ Ecole Polytechnique Federale de Lausanne (EPFL Unive