Official Radiance 5.3 release

With a great deal of help from and thanks to @Mingbo, @Rob_Guglielmetti, @Taoning_Wang, @defuller, and @Mostapha, we have a new official release of Radiance.

We have moved our build process from the NREL servers to LBNL, and automated unit testing during the build process. This makes it less likely that we will break things (or that they will stay broken) in the HEAD release, as regressions are caught on the weekend, before new packages are rolled out.

This means if you download packages from the new gitHub, you can be assured that everything passed our tests. If you compile from the source files, you can run the tests manually using “make clean all” in each of the included directories in ray/test: renders, cal, gen, util, and px.

It’s been a couple of years since the last official release, during which time we’ve made numerous improvements and fixes. Here are some highlights:

Created radcompare program to compare Radiance tool output to reference outputs during unit-testing.

Added -orRxX options to rtrace to enable output of mirrored and unmirrored
contributions and distances to enable new types of reprojections. This also
cleaned up and unified handling of effective ray lengths throughout code.

Added gendaymtx -A option to compute average sky over all the input
time steps. Added -D and -n option to gendaymtx to output sun description and skip matrix output on request. A -M option was also added to output solar
modifiers for rcontrib. Support also added for leap days in WEA input.
Enhancements sponsored by Ladybug Tools. Added -u option to gendaymtx to elide data columns (time steps) when the sun is not visible above the horizon.

Created rsplit program as compliment to rlam and to handle more complex
rtrace output into separate files or streams.

Created rcode_depth tool to convert to and from a 16-bit/pixel portable
depth image encoding that uses a mix of linear and reciprocal distance
with explicit representations of 0 and infinity. Code for loading these
depth maps is in src/common/depthcodec.{h,c}.

Created rcode_norm tool to convert to and from 32-bit/pixel portable
surface normal representation, matching the one in src/common/dircode.c.
Code for loading normal maps is in src/common/normcodec.{h,c}.

Created rcode_ident tool to create indexed identifier files.
Code for loading these files is in src/common/idmap.{h,c}.

Added -o* option to rtpict to produce layered images that handle most
output types from rtrace (colors, surface normals, distances, IDs).

Added ability of vwrays, pinterp, and pmblur2 to read encoded depth files.

Added new “turbo” palette to falsecolor (thanks to Taoning).

Added -y option to gensky and gendaylit to support more accurate Michalsky
solar position calculation.

Fix to glarendx issues with dgi calculation.

Improved rtrace flushing function to handle any value for -x without
deadlock on controlling process.

Added robjutil utility to manipulate Wavefront .OBJ files.

Added limit to memory used by high-resolution tensor tree BSDFs for
cumulative cache during MC sampling (rendering). Limit set to 250MBytes
per BSDF for standard architectures.

New version of evalglare from Jan Wienold.

Enjoy!
-Greg

7 Likes

This is BIG news, folks. Look at all those additions and fixes, now part of the regular installers! And the Git mirror is now home at LBNL, where the source code lives. =) @Mingbo and Ladybug Tools get mad props for taking this all to the next level. Happy raytracing, folks!

  • Rob
4 Likes

I noticed that the Windows installer now comes with compiled Perl binaries. This is great news! Thank you, Rob

3 Likes

thanks to everyone in Greg’s post!!

If you are building from the HEAD using the top-level “makeall” script, I just checked in a new version that can run the unit tests for you using “makeall test”. It takes about 90 minutes to run on a typical Linux or Mac laptop. Be sure to run “makeall install” first so you know you are testing the newly compiled binaries, and not the ones you had before the update.