Share

3.3.11.0 - Arnold User Guide

Milestone 3.3.11

Enhancements

  • Simplified SSS sampling controls : To simplify the user experience of dialing light and GI samples for SSS, we have unified all the controls to be controlled by a global multiplier: sss_sample_factor. This control behaves similarly to AA_samples, but in the SSS context, multiplying against the light/diffuse sampling settings the user has already dialed for his scene. The default value is 4. Typically it should be set to the same as AA_samples to ensure every point in the point cloud receives noise-free lighting. The per-light sss_samples and the global GI_sss_hemi_samplescontrols have been removed. (trac#2364)
  • Added option sss_threaded_sample_distribution : This is a temporary "escape valve" to disable multi-threading in the construction of SSS pointcloud distributions. Although we are confident that most of the recent SSS bugs were solved in this release, we are providing this option for users who may encounter additional threading hangs/crashes. The default value is TRUE, consistent with previous behaviour. This option will be removed in a future release. (trac#2387)
  • New disk_light : We have added a disk_light node that implements an oriented disk light. The new light supports all of the standard features such as MIS and volumetrics. (trac#2197)
  • MIS support in AiDirectDiffuse() : The AiDirectDiffuse() function available to shader writers and used by the built-in lambert shader will now apply multiple importance sampling techniques when available. This can noticeably improve image quality, in particular with skydome lights. (trac#2313)
  • multiply and offset in image shader : We have added two handy controls in the image node. Thanks to these new controls, there is no need to write a separate shader when you simply need to filter the texture lookup by a color, or add a color to the texture lookup. (trac#2352)
  • Support for Pref coordinates in noise shader : In addition to the existing world and object coordinate spaces, it is now possible to evaluate the noise at Pref coordinates. This of course assumes that the mesh has been exported with Pref data, otherwise it reverts to the default objectspace. (trac#2348)
  • Set @executable_path in Mac OSX binaries : On Mac OSX systems, the paths to libraries used by Arnold binaries are now hardcoded to @executable_path. This makes libai to always link first with libraries residing in the directory where libai itself is located, avoiding loading libraries with mismatched versions that may be reached through the DYLD_LIBRARY_PATH environment variable. It is now ensured that libai links with the libraries deployed in the official Arnold package as both libai and its dependencies are located in the package directory tree. Therefore we encourage users not to relocate the Arnold binaries outside the /bin directory. (trac#2223)
  • Floating point support in driver_display : The generic display driver node driver_display receives RGB/RGBA buckets and sends the pixel data to a custom C-style callback. You can now choose the format for those pixel buffers between the original floating point data (with gamma correction applied) or the old "packed integer" format which is 8 bits per channel (with clamping to 0-1, gamma correction and dithering applied). This is done using the new rgba_packing boolean parameter, which defaults to TRUE to maintain previous behaviour. (trac#2175)
  • Added option -sr to kick : The new kick option -sr allows to scale up/down times the resolution of the output image. (trac#2347)

API additions

  • Python bindings for the Licensing API : These bindings allow configuring the licensing subsystem (server, number of attempts and delay). (trac#2237)

Incompatible changes

  • Removed SSS sampling controls : The global option GI_sss_hemi_samples and the per-light option sss_samples have been removed in favor of the new global option sss_sample_factor described above. Note that this can change the quality of the SSS effect in existing scenes that were using these options to override the SSS samples, and therefore render times can be affected too. If, after upgrading to this version, your renders suddenly become very slow, you may want to reduce sss_sample_factor; conversely, if your renders suddently become much faster and noisier, try increasing sss_sampe_factor. (trac#2364)
  • Removed sss_use_gi from objects : As part of an ongoing effort to simplify the SSS system, we have removed the sss_use_gi geometric object attribute. The SSS engine will now always evaluate indirect lighting, with the same number of bounces as specified in the GI_diffuse_depthoption. This can result in differences in rendered images for older scenes that had this parameter disabled, but these cases should be rare. As an added bonus, this saves memory in scenes with many objects. (trac#2363)
  • Removed option -qres from kick : You can achieve the same effect with the new option -sr 0.5. (trac#2347)
  • Renamed the disc primitive to disk : For better consistency with other node/parameter strings in the API (i.e. the disk_light and the disk mode of the points primitive), the rarely-used disc geometric primitive has been renamed to disk. A deprecated synonym has been added so that the old name still works (at the expense of a warning message). (trac#2357)
  • Removed the ability to set thread priorities on Linux/OSX : For a long time, this feature has been broken on Linux and OSX, so we are now officially removing support for those platforms. You can use the Unix nice command to run the Arnold process at lower priority.AiThreadCreate()'s third argument is still accepted, but only has an effect on Windows, where it's perfectly fine to alter the priority of render threads. (trac#1077)

Bug fixes

Ticket Summary Component Owner Priority Version Created
#2100 AiArray{Set Get}{Vec Pnt} should work on both points and vectors arnold oscar major
#2173 hair direct diffuse and direct specular brighter than expected arnold alan major 3.3 5 months
#2308 AiRGBACreate() should return an AtRGBA arnold oscar major 3.3 2 months
#2355 SSS pointcloud build crashes on disjoint meshes arnold xo major 3.3 4 weeks
#2359 Livelock in SSS pointcloud building arnold xo major 3.3 4 weeks
#2361 SSS pointcloud building causes render to hang arnold oscar major 3.3 4 weeks
#2370 'kick -info [n u] ' doesn't work kick oscar major 3.3
#2372 Texture blurriness when scaling cameras arnold oscar major 3.3 3 weeks
#2375 Aborting when constructing SSS pointclouds causes render to crash/hang arnold oscar major 3.3 3 weeks
#2380 AiLightsGetShadowMatte() missing some shadows arnold alan major 3.3 11 days
#2389 'bounces' control on the lights should affect glossy bounces arnold marcos major 3.3 16 hours
#2358 Spinlock implementation fails on newer version of GCC due to optimization arnold xo minor 3.3 4 weeks
#2373 'kick' doesn't work properly with '-interactive [m q]' and camera matrices kick oscar minor 3.3
#2365 'disk' count is not reported in the initial log messages arnold oscar trivial 3.3 4 weeks

Was this information helpful?