--- ray/doc/ray.html 2006/05/10 19:50:30 1.6 +++ ray/doc/ray.html 2011/04/06 22:00:46 1.10 @@ -1,7 +1,7 @@ -The RADIANCE 3.7 Synthetic Imaging System +The RADIANCE 4.1 Synthetic Imaging System @@ -9,7 +9,7 @@ The RADIANCE 3.7 Synthetic Imaging System

-The RADIANCE 3.7 Synthetic Imaging System +The RADIANCE 4.1 Synthetic Imaging System

@@ -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,78 @@ unless the line integrals consider enclosed geometry.
 

+ + BSDF + + +
+ 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. + +
+	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 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.)\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. +

+ +

Antimatter @@ -1365,8 +1437,6 @@ A mixfunc mixes two modifiers procedurally. It i which serves as a form of opacity control when used with a material.) 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 run-time, the last definitions of the modifier id's will be used. - This can result in modifier loops, which are detected by the renderer.

@@ -1528,10 +1598,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 +1817,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 +1890,24 @@ Ecole  Polytechnique  Federale de Lausanne (EPFL Unive