4.2.14.0 - Arnold User Guide
Milestone 4.2.14.0
Enhancements
- Improved SSS : Subsurface scattering has been modified to leak less light into areas where it shouldn't and properly contribute to indirect light. This improves results around the nose or mouth in typical head models for example. Previously SSS was ignored for secondary GI bounces or contributing to more bounces than specified with GI_diffuse_depth. (#4174, #2978, #4648)
- Better defaults in standard shader : The empirical SSS profile and GGX microfacet specular distribution are now used by default. (#5317)
- Automatic reloading of procedurals : When a procedural geometry node's dso or data parameters are modified during an interactive session, the procedural will now be automatically reloaded, and the old contents cleared, avoiding the need for manually destroying and creating a new procedural. (#5190)
- Faster rendering of few buckets : Rendering a small image will now scale to all available CPU cores regardless of bucket size. (#4647)
- Maximum number of threads : The maximum number of threads has been increased from 128 to 256. (#5349)
- Updated OIIO to 1.5.24 : This new version comes with some optimizations and bug fixes. (#5139)
API additions
AiSetLicenseString() : Added a new API function for setting up a license string enclosed within angle brackets, which is the LICENSE line in a node-locked license file. Client code could now use this function and forget about setting up any environment variables, such assolidangle_LICENSE. (#5259)
AiSetLicenseString("<LICENSE solidangle arnold YYYYMMDD 10-Jun-2016 uncounted hostid=... _ck=... sig=...>");
Python bindings for texture API : The Python API now exposes the following functions in ai_texture.py (#5293):
- AiTextureGetResolution()
- AiTextureGetNumChannels()
- AiTextureGetChannelName()
- AiTextureGetFormat()
- AiTextureGetBitDepth()
- AiTextureGetMatrices()
- AiTextureInvalidate()
Incompatible changes
- Disabled RLM broadcasting : We have disabled RLM broadcasting, which removes the two-second connection timeout delay due to the RLM client attempting to broadcast to find a license server in the LAN. From now on, the RLM license server must always be specified using the solidangle_LICENSE environment variable, even if it's localhost. (#4535)
- Removed AiLicense{Set|Get}Attempts() and AiLicense{Set|Get}AttemptDelay() : We have removed the "retry" RLM license request ability. (#2893)
Bug fixes
Ticket | Summary |
---|---|
#5327 | Windows signal handlers not cooperating with parent process |
#4647 | Inefficient use of CPU threads when using a low number of buckets |
#4648 | SSS not respecting diffuse GI depth correctly |
#5084 | Fix sampling regression introduced in recent sampling refactoring |
#5157 | Multilayer EXR should properly output INT AOVs when other types are present |
#5165 | Hang when repeatedly adding and removing nodes |
#5167 | Crash when destroying a scene with cloned quad lights |
#5170 | Crash when destroying a procedural used by the procedural cache |
#5173 | Crash with volumes when light volume_samples is zero |
#5179 | Deep driver: fix uninitialized variables |
#5184 | Destroying any cached procedural will invalidate all copies |
#5191 | EXR driver: autocrop corrupts the image when HALF AOVs are present |
#5192 | Deep driver: uniform treatment of layer attributes |
#5193 | Hang when destroying and re-creating procedurals with cache enabled |
#5201 | Procedurals containing only shaders are not destroyed correctly |
#5216 | Empirical SSS profile rendering incorrectly with low radius |
#5217 | Matte object AOV filtering wrong with deep EXR |
#5227 | poorly scaling codepath in catclark subdivision |
#5228 | SSE4.2 not always correctly detected |
#5233 | alHair transmission component incorrect |
#5234 | Expand environment variables for volume.dso |
#5239 | Metadata files don't allow 'RGB' as attribute or metadata name |
#5240 | Deep driver: Surface samples should merge when inside a volume |
#5248 | Invalid scene bounds with min_pixel_width in free mode |
#5256 | Proc inheritance not respected for bump shaders |
#5260 | Spot light gobo texture blurred too much in volumes |
#5274 | Mesh lights within procedurals are not correctly transformed |
#5280 | Windows-only texture lookup crash for constant-valued .tx images |
#5301 | AiTextureAccess crash with multiple Arnold sessions |
#5303 | Crash when saving TIFF if resolution is not a multiple of tile size |
#5304 | refraction_opacity should track through multiple refractions |
#5308 | Wrong varying and indexed interpolation for integer user data types |
#5319 | Stray info messages at lower log verbosity |
#5320 | Rare failed assert in LightRadiance() with atmospheric scattering |
#5329 | Deep AOV sample iterator losing mixed atmosphere and surface samples |
#5332 | Atmosphere RGBA AOV missing from deep EXR files |
#5337 | server log entries because maketx tries to access nonexistent RPATH |
#5341 | Override nodes applied to instances not working correctly |
#5302 | Fixed some wrong geometry stats after destroying scene nodes |
#5358 | Do not output warning for zero scaled transforms |