--- ray/doc/man/man1/bsdf2klems.1 2013/04/25 00:43:20 1.1 +++ ray/doc/man/man1/bsdf2klems.1 2019/03/19 22:03:24 1.7 @@ -1,4 +1,4 @@ -.\" RCSid $Id: bsdf2klems.1,v 1.1 2013/04/25 00:43:20 greg Exp $ +.\" RCSid $Id: bsdf2klems.1,v 1.7 2019/03/19 22:03:24 greg Exp $ .TH BSDF2KLEMS 1 4/24/2013 RADIANCE .SH NAME bsdf2klems - generate XML Klems matrix description of a BSDF @@ -8,6 +8,10 @@ bsdf2klems - generate XML Klems matrix description of .B "\-n spp" ][ .B "\-h|\-q" +][ +.B "\-pC" +][ +.B "\-l maxlobes" ] [ .B "bsdf.sir .." @@ -20,6 +24,8 @@ or .B "\-n spp" ][ .B "\-h|\-q" +][ +.B "\-pC" ] .B bsdf_in.xml .br @@ -31,13 +37,15 @@ or ][ .B "\-h|\-q" ][ +.B "\-pC" +][ .B "{+|-}forward" ][ .B "{+|-}backward" ][ -.B "\-e expr +.B "\-e expr" ][ -.B "\-f file +.B "\-f file" ] .B bsdf_func .SH DESCRIPTION @@ -61,12 +69,25 @@ option may be used to reduce this number to 41 patches Neither option is recommended unless the distribution is known to be approximately diffuse. .PP +The +.I \-p +option by itself turns off the progress bar, whose length may be set +by an immediately following integer argument. +(The default progress bar length is 79 characters.)\0 +.PP +The +.I \-l +option may be used to specify the maximum number of lobes in any +interpolated radial basis function. +The default value is 15000, which generally keeps the interpolation tractable. +Setting the value to 0 turns off this limit. +.PP Normally, multiple samples are taken from random points on each input and output patch to improve accuracy. The number of samples to take for each input-output patch pair may be controlled using the .I \-n -option, which defaults to 256. +option, which defaults to 1024. .PP The first invocation form takes a intermediate scattering representation as produced by @@ -90,13 +111,20 @@ geometric descriptions are passed unchanged. In the third invocation form, .I bsdf2klems takes a functional specification of a BSDF. -The named function must accept 6 parameters corresponding to the +The named function should accept 6 parameters corresponding to the normalized incident and exiting vectors, respectively. By convention, these vectors point away from the surface, and a positive Z-component corresponds to the front side. The Y-component corresponds to the "up" orientation of the surface, as specified in the eventual scene description that references the XML output. +If the function only takes 3 parameters, then the variables "Dx", "Dy", +and "Dz" will be assigned to the reverse of the outgoing direction at +each evaluation. +(I.e., the vector will point into the surface and +Dz will be negative on the front side.)\0 +This simplifies conversion of functional BSDF specifications using the +legacy material primitives "plasfunc", "metfunc", and "transfunc". .PP The function is defined by one or more .I \-e @@ -105,6 +133,9 @@ and options, and should obey both Helmholtz reciprocity and integrate to less than 1 over each projected incident hemisphere for energy conservation. +The variable and function definitions in each +.I \-f source +file are read and compiled from the RADIANCE library where it is found. .PP Similar to the .I genBSDF(1) @@ -135,8 +166,11 @@ To create a low-res BSDF corresponding to a one-sided, isotropic Phong distribution: .IP "" .2i bsdf2klems -e 'phong(ix,iy,iz,ox,oy,oz) = if(iz, .1+((iz+oz)/sqrt((ix+ox)^2+(iy+oy)^2+(iz+oz)^2))^50, 0)' phong > phong.xml +.SH ENVIRONMENT +RAYPATH the directories to check for auxiliary files. .SH AUTHOR Greg Ward .SH "SEE ALSO" bsdf2ttree(1), dctimestep(1), icalc(1), gendaymtx(1), genklemsamp(1), -genskyvec(1), mkillum(1), genBSDF(1), pkgBSDF(1), rcontrib(1), rtrace(1) +genskyvec(1), mkillum(1), genBSDF(1), pkgBSDF(1), rcontrib(1), rfluxmtx(1), +rmtxop(1), wrapBSDF(1)