Share

HtoA 6.3.4.0 - Arnold for Houdini

29 August 2024

HtoA 6.3.4.0 is a major feature release that uses Arnold 7.3.4.0.

Installation

  • Download Arnold for Houdini from your Autodesk Account. See Download Arnold for more information about downloading HtoA from your Autodesk Account.

  • Follow these installation instructions

Enhancements

  • COP Texture support in classic HtoA: The image node's filename parameter now supports the op: syntax to reference COP textures, modifiers are also supported. During IPR the textures update live as the Copernicus/COP2 network is updated, and when you export an .ass archive, the textures are baked to disk (HTOA-531).
  • Arnold Render Settings Improvements: The Arnold Render Settings LOP has a second input which can be used to feed in additional render vars (HTOA-2206):

    The AOVs tab has been updated with convenient switches for standard render vars and an improved parameter interface for creating custom AOVs from various sources (including LPEs or light groups):

    Tabs with lots of parameters (like the Sampling and Device tabs) now have subgroups to improve readability

    Sampling Tab Device Tab

    An Arnold tool has been added as a convenient way to create a linked Arnold Render Settings and a USD Render LOP:

  • Houdini Log Viewer Integration: Plugin translation logs are now passed to the log viewer panel as 'HtoA' and 'HtoA-py' (HTOA-2530).

  • OpenPBR improvements
    • View-dependent coat absorption: The coat lobe now more accurately models the absorption tinting at grazing angles, producing a slightly more realistic look. (ARNOLD-15377)
  • SSS color matching: The SSS model has been tuned to ensure that the color of dense SSS more closely matches the supplied subsurface_color, as required by the OpenPBR specification. (ARNOLD-15328) The following images compare diffuse base color with the subsurface colors of Standard Surface and OpenPBR Surface:

    • top row: diffuse with a given base_color
    • middle row: Standard Surface (dense) SSS, with same color assigned to subsurface_color
    • bottom row: OpenPBR (dense) SSS, with same color assigned to subsurface_color
  • Scaling of emission luminance from nits to Arnold units: nits_per_unit was added to the options node, and OpenPBR Surface's emission_luminance (in nits) is internally scaled down by this nits_per_unit value (defaulting to 1000) to bring it into Arnold units. This ensures that the default soft-maximum of emission_luminance of 1000 nits corresponds to the former behavior of Standard Surface at emission 1. (ARNOLD-15364)
  • Faster startup times on GPU: We have made several optimizations to improve startup and scene update time on GPU. These improvements will be most noticeable on scenes with many objects. Startup times on Windows are also now on par with startup times on Linux. On a scene with 1 million instances, we see the following improvements when compared to the previous release. (ARNOLD-15271, ARNOLD-15279, ARNOLD-15310)

    7.3.3.1 7.3.4.0 Improvement
    GPU update time (Windows) 204s 17s 12X
    GPU update time (Linux) 37s 18s 2X
  • Faster texture opacity lookups in OSL shaders: OSL shaders used in opacity inputs (for example OpenPBR Surface's geometry opacity) now read opacity mask textures faster and with smaller memory footprint. (ARNOLD-15340)

  • Improved node and parameter introspection with kick

    • kick -info <node> now groups node parameters by their UI Group metadata, or by whether the parameters are Input or Output. (ARNOLD-14198)

      For example, here's the first few UI groups of openpbr_surface:

      $ kick -info openpbr_surface
      node:             openpbr_surface
      type:             shader
      implicit output:  CLOSURE
      parameters:       65
      multioutputs:     0
      filename:         <built-in>
      version:          7.3.4.0
      
      Type          Name                      Unlinkable  Default        Bounds
      ------------  ------------------------------------  -------------  ---------
      Base
       FLOAT        base_weight                           1              [0, 1]
       RGB          base_color                            0.8, 0.8, 0.8
       FLOAT        base_diffuse_roughness                0              [0, 1]
       FLOAT        base_metalness                        0              [0, 1]
      Specular
       FLOAT        specular_weight                       1              [0, +inf]
       RGB          specular_color                        1, 1, 1
       FLOAT        specular_roughness                    0.3            [0, 1]
       FLOAT        specular_ior                          1.5
       FLOAT        specular_roughness_anisotropy         0              [0, 1]
      Transmission
       FLOAT        transmission_weight                   0              [0, 1]
       RGB          transmission_color                    1, 1, 1
       FLOAT        transmission_depth                    0              [0, +inf]
       RGB          transmission_scatter                  0, 0, 0
       FLOAT        transmission_scatter_anisotropy       0              [-1, 1]
       FLOAT        transmission_dispersion_abbe_number   20             [0, +inf]
       FLOAT        transmission_dispersion_scale         0              [0, 1]
       BOOL         transmission_transmit_aovs         *  false
       INT          dielectric_priority                *  0    
    • kick -info <node>.parameter now includes all available metadata for the parameter, including linkability, bounds, help, as well as the type, name, and default value. (ARNOLD-15306)

      $ kick -info openpbr_surface.fuzz_weight
      node: openpbr_surface
      param: fuzz_weight
      type: FLOAT
      default: 0
      metadata:
       help: The presence weight of a fuzz layer that can be used to approximate microfibers, for fabrics such as velvet and satin as well as dust grains.
       max: 1
       min: 0
  • Handle update for OSL shader changes: Information about shaders linked to an OSL shader is stored when using interactive render mode, so that any change in those shaders will cause the OSL shader to be automatically updated. (ARNOLD-14983)

  • Duplicate node name warnings: Warnings are emitted when adding a node with a name that already exists or renaming an existing node to an empty string. (ARNOLD-12596)

Bug Fixes

  • HTOA-2698 - Fixed Solaris shader translation for the new ramp nodes
  • HTOA-2608 - The Arnold Edit Material LOP now imports shaders with a different input layouts than the VOP node as expected
  • HTOA-2608 - Fixed the Arnold Edit Material LOP to handle ramp nodes correctly
  • HTOA-2112 - Added image format menu to filename parm on the Arnold Render Settings LOP
  • HTOA-2554 - Removed unneeded time dependency on the Arnold Render Settings LOP
  • HTOA-2259 - First AOV is now correctly hooked up in Arnold Render Settings LOP
  • HTOA-2694 - Fixed MSVC version for ZMQ, now it is using v143 for Houdini 20/20.5
  • ARNOLD-14735 - OIDN denoiser bucket artifacts during negative-AA progressive passes
  • ARNOLD-15380 - [GPU] small memory leak when using AOV shaders
  • ARNOLD-15384 - [GPU] memory leak each time an OSL shader is modified
  • ARNOLD-15385 - Crash on standard_volume when modifying material interactively
  • ARNOLD-15392 - [GPU] small memory leak when using OSL shaders
  • usd#2075 - Do not set options attributes during a Hydra render

System Requirements

  • Houdini, Houdini FX, Houdini Indie and Houdini Education
    • 19.5.805
    • 20.0.751
    • 20.5.332
  • Linux with at least glibc 2.28 and libstdc++ 9.3.1 (gcc 9.3.1) for Houdini 19.5, 20 and 20.5. This is equivalent to RHEL/CentOS 7.
  • Linux with at least glibc 2.17 and libstdc++ 11.2.1 (gcc 11.2.1) for Houdini 20/20.5. This is equivalent to Rocky 8.
  • macOS 10.13 or later, macOS 11 or later for Houdini 19.5
  • Apple Mac models with M series chips:
    • Natively supported by Arnold for Houdini 19.5
    • Supported under Rosetta 2 mode for older versions of Houdini
  • x86-64 CPUs need to support the SSE4.1 instruction set. Apple Mac models with M series chip are supported natively mode.
  • GPU rendering works on Windows and Linux only and requires an NVIDIA GPU with the Maxwell architecture or later.
  • Optix™ denoiser requires an NVidia GPU with CUDA™ Compute Capability 5.0 and above.
  • Intel OIDN GPU support is limited to:
    • MacOS
      • Apple native CPUs (M1 and newer)
    • Windows
      • Intel Xe dedicated and integrated GPUs
      • NVIDIA GPUs using Turing or newer architectures
      • AMD GPUs with RDNA2 (Navi 21 only) and RDNA3 (Navi 3x) architectures

Was this information helpful?