--- ray/doc/ray.html 2014/07/31 18:32:41 1.19 +++ ray/doc/ray.html 2024/12/09 19:21:38 1.39 @@ -1,7 +1,8 @@ +
@@ -82,7 +83,7 @@ The diagram in Figure 1 shows the flow between program (ovals). The central program is rpict, which produces a picture from a scene description. -Rview is a variation of rpict that computes and displays images +Rvu is a variation of rpict that computes and displays images interactively, and rtrace computes single ray values. Other programs (not shown) connect many of these elements together, such as the executive programs @@ -797,7 +798,8 @@ unless the line integrals consider enclosed geometry.
mod trans2 id @@ -809,6 +811,85 @@ unless the line integrals consider enclosed geometry.
+ mod ashik2 id + 4+ ux uy uz funcfile transform + 0 + 8 dred dgrn dblu sred sgrn sblu u-power v-power ++ +
+ +
+ mod WGMDfunc id + 13+ rs_mod rs rs_urough rs_vrough + ts_mod ts ts_urough ts_vrough + td_mod + ux uy uz funcfile transform + 0 + 9+ rfdif gfdif bfdif + rbdif gbdif bbdif + rtdif gtdif btdif + A10 .. ++ +The sum of specular reflectance (rs), specular transmittance (ts), +diffuse reflectance (rfdif gfdif bfdif for front and rbdif gbdif bbdif for back) +and diffuse transmittance (rtdif gtdif btdif) should be less than 1 for each +channel. + +
+ +Unique to this material, separate modifier channels are +provided for each component. +The main modifier is used on the diffuse reflectance, both +front and back. +The rs_mod modifier is used for specular reflectance. +If "void" is given for rs_mod, +then the specular reflection color will be white. +The special "inherit" keyword may also be given, in which case +specular reflectance will share the main modifier. +This behavior is replicated for the specular transmittance modifier +ts_mod, which also has its own independent roughness expressions. +Finally, the diffuse transmittance modifier is given as +td_mod, which may also be "void" or "inherit". +Note that any spectra or color for specular components must be +carried by the named modifier(s). + +
+ +The main advantage to this material over +BRTDfunc and +other programmable types described below is that the specular sampling is +well-defined, so that all components are fully computed. + +
+ +
+ mod aBSDF id + 5+ BSDFfile ux uy uz funcfile transform + 0 + 0|3|6|9 + rfdif gfdif bfdif + rbdif gbdif bbdif + rtdif gtdif btdif ++ +
+ If a material has no specular transmitted component, it is + much better to use the BSDF type with a zero thickness + than to use aBSDF. +
+ +
+ +
+ mod spectrum id + 0 + 0 + 5+ nmA nmB s1 s2 .. sN ++ +
+ The first two real arguments indicate the extrema of the + spectral range in nanometers. + Subsequent real values correspond to multipliers at each wavelength. + The nmA wavelength may be greater or less than nmB, + but they may not be equal, and their ordering matches + the order of the spectral values. + A minimum of 3 values must be given, which would act + more or less the same as a constant RGB multiplier. + As with RGB values, spectral quantities normally range between 0 + and 1 at each wavelength, or average to 1.0 against a standard + sensitivity functions such as V(lambda). + The best results obtain when the spectral range and number + of samples match rendering options, though resampling will handle + any differences, zero-filling wavelenths outside the nmA to nmB + range. + A warning will be issued if the given wavelength range does not + adequately cover the visible spectrum. + +
+ +
+ mod specfile id + 1 datafile + 0 + 0 ++ +
+ As with the spectrum type, rendering wavelengths outside the defined + range will be zero-filled. + Unlike the spectrum type, the file may contain non-uniform samples. + +
+ +
+ mod specfunc id + 2+ sfunc funcfile transform + 0 + 2+ nmA nmB A3 .. ++ +
+ Like the spectrum primitive, the wavelength range is specified + in the first two real arguments, and additional real values are + set in the evaluation context. + This function is fed a wavelenth sample + between nmA and nmB as its only argument, + and it returns the corresponding spectral intensity. + +
+ mod specdata id + 3+n+ + func datafile + funcfile x1 x2 .. xn transform + 0 + m A1 A2 .. Am ++ +
+ The data file must have one more dimension than the coordinate + variable count, as this final dimension corresponds to the covered + spectrum. + The starting and ending wavelengths are specified in "datafile" + as well as the number of spectral samples. + The function "func" will be called with two parameters, the + interpolated spectral value for the current coordinate and the + associated wavelength. + If the spectrum is broken into 12 components, then 12 calls + will be made to "func" for the relevant ray evaluation. + +
+ mod specpict id + 5+ + func specfile + funcfile u v transform + 0 + m A1 A2 .. Am ++ +
+ The function "func" is called with the interpolated pixel value + and the wavelength sample in nanometers, the same as specdata, + with as many calls made as there are components in "specfile". +
@@ -1414,6 +1674,7 @@ or: A mixture is a blend of one or more materials or textures and patterns. +Blended materials should not be light source types or virtual source types. The basic types are given below.
@@ -1486,7 +1747,6 @@ A mixfunc mixes two modifiers procedurally. It i arguments, the red, green and blue values corresponding to the pixel at (u,v). -
The Radiance Software License, Version 1.0 -Copyright (c) 1990 - 2014 The Regents of the University of California, +Copyright (c) 1990 - 2021 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 @@ -1890,6 +2150,39 @@ Ecole Polytechnique Federale de Lausanne (EPFL Unive