Daz Studio Pro 4.22(.1.x) - NVIDIA Iray

rbtwhizrbtwhiz Posts: 2,181

When a new build of Daz Studio includes a new version of the NVIDIA Iray renderer, the new build of the renderer comes with its own set of bug fixes, new features, adjustments to existing features, etc. Since the release of Daz Studio that followed the initial introduction of NVIDIA Iray in Daz Studio (4.8 - initial introduction, 4.9 - following release), a list of its changes have typically been made available in the posts that immediately follow the announcement. In many cases, while the information contained within the posts was/is useful to those that want/need it, it seemed to go unread by many. This same information would also then be reposted when a Public Build was eventually promoted to General Release.

To address some of these issues and bring more visibility to the changes for those who want/need it, we now split these posts off into their own thread. A separate discussion thread will remain available (linked below), but the thread itself will be closed for comment so as to avoid the information being buried by the discussion and to provide notification through regular features of the forum software.


*Note: The entries below come directly from the NVIDIA Iray release notes. Some entries, such as the mention of Linux, Python, etc, currently have no bearing on Daz Studio itself but are included for completeness.

 


Public Build (Beta) Threads:

 

  • 4.22.1.123 (April 12, 2024)
    • 4.22.1.110 (March 26, 2024)
    • 4.22.1.99 (March 6, 2024)
    • 4.22.1.88 (February 21, 2024)
    • 4.22.1.74 (February 2, 2024)
    • 4.22.1.58 (January 16, 2024)
    • 4.22.1.54 (January 10, 2024)
    • 4.22.1.41 (December 22, 2023)

 


General Release Thread:

 

  • ...
  • 4.22.0.16 (February 27, 2024)
    • 4.22.0.15 (December 20, 2023)
    • 4.22.0.1 (November 1, 2023)
  • 4.21.0.5 (October 12, 2022)

 


Previous Thread:

 

Post edited by rbtwhiz on

Comments

  • rbtwhizrbtwhiz Posts: 2,181

    Iray 2023.0.0 beta, build 367100.1652

    Known Issues and Restrictions

    • Due to the new and improved caustic sampler, renderings that employ the caustic sampler are noticably slower now. Hopefully, 2023.0.0 final will improve performance again.
    • The new caustic sampler also does not feature the interactive scheduler yet. Thus, enabling the interactive scheduler with enabled caustic sampler will use the batch scheduler, but running at limited ramp up. 2023.0.0 final should also fix this behavior again.

    Added and Changed Features

    • General
      • Updated general libraries:
        • Boost 1.81
        • FFmpeg-lgpl-5.1.2-367645
        • OpenImageIO 2.4.9.0-367418
        • NVAPI R530
        • SQLite 3.41.2
        • libx264 (20210714-5db6aa6c-367481)
        • Curl 7.88.1
      • Improved performance when detaching elements from a group. Iterating over the group using an index in order is still fast, but random access by index will be more costly and should be avoided.
      • General further scene traversal/processing optimizations.
    • Iray Photoreal & Iray Interactive
      • Add core support for the new MDL 1.8 features
        • Added support for "An Analytic BRDF for Materials with Spherical Lambertian Scatterers" (df::dusty_diffuse_reflection_bsdf).
        • Added support for df::thin_film modification of df::custom_curve_layer and df::directional_factor.
      Iray Photoreal
      • Vastly improved caustic sampler 2.0: It is now possible to simulate and collect more path contributions accurately, namely SDS (specular-diffuse/glossy-specular) segments, like found e.g. in swimming pools and mirror/glass interactions. This leads to a more accurate simulation, but comes at the price of increased rendering times (on the average) and a slight (around 100 MiB) memory overhead.
      • Faster performance (up to 15 percent) for all long running renderings (e.g. 1000+ samples at FullHD, or 500+ samples at 4K resolution).
      • Reduce binary size for the Iray Photoreal library by 40 percent.
    • Material Definition Language (MDL)
      • MDL 1.8 Language Specification
        • Updated version to 1.8.
        • Reduced the requirement on thin-walled materials that they should have equal transmission from both sides.
        • Added part to supported selector string components for OpenEXR.
        • Added the operator function call to the precedence table of all operators.
        • Added the cast operator to the precedence table of all operators.
        • Moved operator from the set of words reserved for future use to the reserved words in use.
        • Added section for unicode identifiers.
        • Clarified that the use of variables in let-expressions is read-only.
        • Clarified that binary logical operators may or may not use short-circuit evaluation.
        • Added definition of lvalues and rvalues.
        • Removed redundant subsections that light_profile and bsdf_measurement have no members.
        • Added requirement to check for array out-of-bounds access and to return default-constructed values in this case.
        • Clarified that function parameters are lvalues in their procedural implementation bodies.
        • Added that function parameters can only be used as read-only rvalues in functions defined by an expression.
        • Added that function parameters can only be used as read-only rvalues in let-expression.
        • Changed the grammar for the let-expression from unary_expression to assignment_expressions for the expression affected by the variables. This ensures the right scope precedence, e.g., the let-expression ends at a sequence operator.
        • Removed using alias declarations. They are replaced by Unicode identifiers directly supported as package and module names.
        • Added operator function call syntax for all applicable operators.
        • Clarified that material parameters can only be used as read-only rvalues in material definitions.
        • Clarified that material parameters can only be used as read-only rvalues in let-expression.
        • Removed the support for annotations on packages with the package.pkg file.
        • Added Unicode identifiers for package and module names.
        • Changed productions for import_path, qualified_import to allow Unicode identifiers in package and module names.
        • Added a collapsed parameter to the anno::in_group standard annotation to control the UI presentation of groups.
        • Added the standard annotation node_output_port_default and the respective enumeration type node_port_mode to control the default initialization of output ports for external shade graph nodes when they are created for MDL functions.
        • Added the standard annotation native to hint that a function or material might have a native implementation in the integration.
        • Added the standard annotation noinline to hint that a function or material should not be inlined by the compiler.
        • Added that texture spaces and their respective tangents return in volume shading their respective values at the surface entry point of the current light-transport path.
        • Added that state::texture_space and the related tangent state functions return the zero vector in case the index is out of the range of available texture spaces.
        • Clarified the exact interpolation curve for math::smoothstep and that it is undefined for a zero or reversed interpolation range.
        • Added float4x4 as supported data type for scene data lookup.
        • Removed the requirement on the scene data lookup functions to provide literal strings as arguments for the scene data names. They are now uniform strings and can be connected to uniform string parameters of a material of function definition.
        • Added a diffuse reflection BSDF modeling spherical Lambertian scatterers.
        • Added an approximative Mie VDF model for fog and cloud-like media.
        • Added custom_curve_layer and directional_factor as eligible base BSDF for the thin_film BSDF modifier.
        • Clarified that the measured_factor modifier BSDF allows reflectivities above one and it is in the responsibility of a material author to ensure energy conservation.
        • Added optional trailing commas to the productions of parameter_list, argument_listenum_type_declaration and annotation_block.
        • Added a new Appendix G on external bindings and a section for the recommended binding of MDL functions to nodes with multiple output ports.
      • base.mdl: Added an implementation of base::abbe_number_ior.
      • Improved precision of conversion of spectra to color, in particular for spectra with narrow peaks.
      • Refactored base::coordinate_projection() to reduce size of generated GPU code.
      • Added mi::neuraylib::IMdl_backend::execute_init() method to allow calling init functions in single-init mode for the native backend.
      • i18n translation:
        • Added support for the new boolean parameter to the in_group annotation (collapsed).
        • Added support for legacy "in_group$1.7" annotation.
        • i18n.exe tool:
          • Issue warning when annotation is not supported.
          • Added support for the new added boolean parameter in the in_group annotation (collapsed).
          • Added support for legacy "in_group$1.7" annotation.
      • The parameters of the MDL array constructor have been changed from "0", "1", etc. to "value0", "value1", etc. to match the MDL specification. This also affects paths to fields in the compiled material. Such paths are e.g. used by ICompiled_material::lookup_sub_ expression(), IMdl_distiller_api::create_baker(), various methods on IMdl_backend and the Target_function_description struct. Hardcoded paths need to be adapted. A frequently occurring pattern is ".components.<number>." which needs to be changed to ".components.value<numner>.".
      • Removed unused enumerator value DS_SEQUENCE from mi::neuraylib::IFunction_definition::Semantics.
      • Changed BMP import of alpha channels with OpenImageIO. While the correct behavior is debatable, it restores the historical behavior of FreeImage
      • A selector parameter has been added to the methods IImage::set_from_canvas(), and IImage_api::create_canvas_from_buffer(), and IImage_api::create_canvas_from_reader(). The old signatures are deprecated. They are still available if MI_NEURAYLIB_DEPRECATED_14_0 is defined.
      • The signatures of create_texture(), create_light_profile(), and create_bsdf_measurement() on IMdl_factory have been changed: These methods take now a IMdl_execution_context pointer as last argument instead of the optional mi::Sint32 pointer. The old signatures are deprecated. They are still available if MI_NEURAYLIB_DEPRECATED_14_0 is defined.
      • The method IImage::create_mipmaps() has been renamed to IImage::create_mipmap(). The old name is deprecated. It is still available if MI_NEURAYLIB_DEPRECATED_14_0 is defined.
      • It is now considered an error to apply the "A" selector to pixel types without alpha channel
      • The interface IImage_plugin has been changed to allow selector support and better plugin selection (See the API reference documentation for details):
        • The method supports_selectors() has been added.
        • The method open_for_reading() has an additional parameter for the selector string.
        • The test() method takes now a reader instead of a buffer and the file size.
      • The OpenImageIO plugin supports now also non-RGBA selectors. Right now this works only for OpenEXR textures, including OpenEXR multipart images (use the part name as selector or first selector component).
      • Full Unicode support (including code points outside of the basic multilingual planes) for MDL source code and filenames.
      • The "Tags" page on the admin HTTP server has a new option to show only tags currently begin pinned.
      • The FreeImage plugin has been removed. All examples have been converted to use the OpenImageIO plugin instead of the FreeImage plugin.
      • libbsdf: Added support for df::dusty_diffuse_reflection_bsdf.
      • libbsdf: Added support for df::thin_film modification of df::directional_factor and df::(color_)custom_curve_layer (MDL-1048).
      • Optimized ternary operators on df::thin_film() where the base BSDF is identical to the BSDF of the other case of the ternary.
      • Added "enable_pdf" backend option to allow disabling code generation of PDF methods for distribution functions.
      • MDL Core language support:
        • MDL 1.8 support is now complete and always enabled, no need for "mdl_next" option. Especially the following features were added:
          • scene::lookup_data_float4x4().
          • anno::native(), anno::node_output_port_default().
          • No lvalues inside let expressions and single expression functions are allowed.
          • Removed alias declarations.
        • "mdl_next" option is currently a no-op.
        • Improved some error messages.

    Fixed Bugs

    • General
      • Prevented leaf objects from reusing the tessellation of objects that have not been processed yet (nvbugs 4058103).
      • Reduced pre-processing/compile time for displacement (nvbugs 4058217).
      • Slightly changed outline thickness behavior (clamped line thickness to 1, changed default to 2) (nvbugs 4061343).
    • Iray Photoreal & Iray Interactive
      • Fixed measured BRDFs never being evaluated on backsides.
      • Fixed incorrect mono mode being used for builtin displacement texturing (nvbugs 4072494).
    • Iray Photoreal
      • Fixed inverted behavior of the abbe number IOR computation, which will unfortunately change the look of a lot of scenes that feature dispersion.
      • Fixed total internal reflection happening on coating if thickness is 0.0 via texture inputs.
      • Excluded environment-behind-volume hits from auxiliary buffers (nvbugs 4018115).
      • Removed implicit multiplication with meters_per_scene_unit in MDL-JIT compiled volume materials, and in general fix several issues related to this.
      • Replaced self intersection handling code once more, in order to get some previously lost performance back.
      • Fixed rendering selection subset buffers in presence of decals, and other incorrect contributions when handling decals in auxiliary buffers (nvbug 3976531).
      • Fixed matte and ground fog attenuation interactions (nvbugs 4045924).
      • Improved numerical robustness of ground fog in case of a strong difference between the color channel values.
      • Fixed a numerical error in ground fog (nvbugs 4070589).
      • Made matte and ground fog compatible with section planes (nvbugs 4052312).
      • Fixed auxiliary buffers featuring ground fog (nvbugs 3983116,4035932).
      • Fixed crash if scene data lookups with names provided via MDL material parameters are used.
      • Fixed adding multiple instances of the same particle object, leading to crashes (nvbugs
      • 4061583).
      • Fixed missing auxiliary buffer values if paths were terminated before the first material interaction (nvbugs 4035932).
      • Enforced linear interpolation for texture runtime in JIT-compiled environment functions to increase the compatibility with the builtin envmap loookup and to reduce banding observed in some sky shaders.
      • Fixed potential crashes with particles and cutouts.
    • Iray Interactive
      • Behave more like Photoreal when shading lights in white mode.
    • Material Definition Language (MDL)
      • Mark BSDF and EDF data structures as 16-byte aligned to avoid a crash due to misaligned stores in generated CPU code.
      • Fixed IES parser for files with IES:LM-63-2019 standard.
      • Fixed the export of textures inside .mi namespaces.
      • MDL Core: Due to an inconsistence in the MDL Specification the MDL compiler was parsing erroneously some types of expressions after the keyword 'in' in the 'let' expressions, leading to a compiler error and resulting in that only unary type of expressions could be parsed correctly
      • libbsdf:
        • Fixed the handling of total internal reflection for microfacet BSDFs evalation in df::scatter_transmit mode.
        • Correctly handle df::thin_film with a thickness of zero, independent of the IOR value.
      • Fixed rare crash in HLSL code generator regarding translation of load instructions.
      • Fixed missing module cache usage for non-inlined functions for link units.
      • Fixed special df::thin_film() handling for PTX backend.
      • Fixed crash for zero sized arrays in argument block layout builder.
      • Fixed inlining of functions with deferred-size arrays as parameters.
      • Fixed several bugs in the MDL compiler when compiling syntactically invalid MDL code.
      • Fixed bug in the attribute handling of the Distiller.
  • rbtwhizrbtwhiz Posts: 2,181

    Iray 2023.0.0, build 367100.2992

    Added and Changed Features

    • General
      • Updated general libraries:
        • OpenVDB 10.0.1-368791 (nvbugs 3957084)
        • SQLite 3.42.0
    • Iray Photoreal
      • Added new approximative Mie phase function for volumes (via MDL 1.8), incl. ground fog (via df::fog_vdf).
      • Performance of the new caustic sampler 2.0 has been vastly improved, depending on GPU and scene up to 2.1x!
      • Performance of MDL-JIT-compiled materials has been vastly improved.
      • Performance on Ada Lovelace generation (SM 8.9) has been improved.
      • Performance in general (compared to both 2023.0.0 beta and partially 2022.X.X), especially for scenes containing fibers/hair and cutouts, has been improved.
      • Optimized performance of rounded corners on pre-RTX generation GPUs.
      • Implemented section caps for inhomogeneous volumes.
    • Material Definition Language (MDL)
      • MDL 1.8 Language Specification
        • Updated version to 1.8.2 and removed the draft status of the document.
        • Removed meaningless references to a preprocessor.
        • Clarified that MDL comments can be nested.
        • Extend list of separators in MDL and clarify their purpose.
        • Clarified that unicode identifiers cannot be empty.
        • Fixed the accidentally dropped grammar production rule for the import statements in MDL files.
        • Clarified that let-bound variables cannot be used in their own initializer expressions.
        • Added a reference to the approximation used for the Mie scattering model of fog_vdf.
        • Clarified that the particle_size parameter of the new fog_vdf approximative Mie VDF model refers to the particle diameter.
      • Deprecated ILink_unit::add_environment(). Use ILink_unit::add_function() with ILink_unit::FEC_ENVIRONMENT as second parameter instead. The old method is still available if MI_NEURAYLIB_DEPRECATED_14_0 is defined.
      • Improved documentation for the various subclasses of IExpression, in particular IExpression_temporary and Expression_parameter.
      • The module builder supports now upgrades to MDL version 1.8, i.e., it expands namespace aliases to the corresponding Unicode identifiers, and finally removes the namespace aliases themselves.
      • Added array support to the argument editor. New overloads of Argument_editor::set_value() and get_value() allow now to set or get entire arrays in one call.
      • The OpenImageIO plugin for TIFF has been changed such that unassociated alpha mode is used for export. This avoids rounding errors and information loss for small alpha values.
      • The MDL exporter now uses TIFF instead of EXR when exporting textures with an alpha channel. This avoids rounding errors and information loss for small alpha values.
      • Various API methods related to resource loading have been fixed to properly report all error conditions. This required changing the existing error codes for those methods. The affected API methods are:
        • mi::neuraylib::IImage::reset_file()
        • mi::neuraylib::IImage::reset_reader(IReader*,...)
        • mi::neuraylib::IImage::reset_reader(IArray*,...)
        • mi::neuraylib::ILightprofile::reset_file()
        • mi::neuraylib::ILightprofile::reset_reader()
        • mi::neuraylib::IBsdf_measurement::reset_file()
        • mi::neuraylib::IBsdf_measurement::reset_reader()
        • mi::neuraylib::IVolume_data::reset_file()
        • mi::neuraylib::IVolume_data::reset_reader()
        • mi::neuraylib::IMdl_factory::create_texture()
        • mi::neuraylib::IMdl_factory::create_light_profile()
        • mi::neuraylib::IMdl_factory::create_bsdf_measurement()
        • mi::neuraylib::IImport_api::import_bsdf_data()
      • Changed the default privacy level of ITransaction::copy() from 0 to LOCAL_SCOPE for consistency with store(). The old behavior is still available if MI_NEURAYLIB_DEPRECATED_ITRANSACTION_COPY_DEFAULT_PRIVACY_LEVEL_ZERO is defined.
      • Fixed the VDB integration such that VDBs referenced in MDL archives or MDLEs work.
      • Fixed IMdl_factory::create_texture() to support VDB files.
      • Updated jquery to version 3.6.4 and/or applied workarounds to fix a potential XSS vulnerability.
      • Replaced ITarget_code::get_body_texture_count() by ITarget_code::get_texture_is_body_resource(mi::Size) to query the information for the individual resources; same for light profiles and BSDF measurements.
      • Allow to disable all example dependencies if the SDK and core examples are disabled.
      • Changed the Clang version and existence checks so that 12.0.1 is no longer a hard requirement.
      • Disable LLVM CMake warning about host=x64.
      • IFunction_definition::get_mangled_name() was added. For definitions representing real MDL functions this returns the Itanium ABI inspired mangled name used by backends when MDL code is compiled to target code.
      • IUnit::add_function() was added, IUnit::add_environment() is now deprecated.
      • IUnit::add_function() for function definitions added by 3ds.
      • Changed the argument names of the array constructor. Name is now value and no longer . This might change expression paths to material compilation.
      • nvidia::core_definitions
        • Texture transformations changed from uniform to varying.
        • Added triplanar texturing and blending of normals.
      • Implemented normalization of df::thin_film() on the DAG.
      • libbsdf: Avoid PDF code duplication caused by nested layerer DFs.
      • Handle \u, \U, \x, and \X escapes more like C++
        • \u takes exactly 4 digits, it’s an error if less are given.
        • \U takes exactly 8 digits, it’s an error if less are given.
        • \x or \X without a digit is an error.
        • \x or \X with an overflow is a warning.
      • Illegal Unicode codepoints generated using \u or \U are now an error.
      • Wrong UTF-8 encodings in MDL files are now an error.

    Fixed Bugs

    • General
      • Fixed issues with tessellation jobs.
      • Resolved given path via path module when querying VDB file content.
      • Prevented materials from being assigned as camera backplate and aperture shaders (nvbugs 200782051).
    • Iray API
      • Fixed compilation issue on some combination of compiler and C++ standard for irender_target.h.
    • Iray Photoreal & Iray Interactive
      • Fixed Hosek sky model sun limb darkening for RGB renderings.
    • Iray Photoreal
      • Fixed termination criteria during light hierarchy construction, leading to a very rare crash (nvbugs 4100894).
      • Fixed some crashes in guided sampling scheduling (includes nvbugs 4097747).
      • Fixed CUDA crashes during rendering for scenes with texture compression enabled (nvbugs 4097747).
      • Fixed fiber state::texture_coordinate(0).z to contain thickness (i.e. diameter), not radius, matching the MDL spec.
      • Improved behavior of the fiber/hair scattering model with caustic sampler enabled (nvbugs 4085079).
      • Fixed the computation of motion vectors for fibers and particles.
      • Improved spectral thin film code (MDL-1125).
      • Fixed a crash for small resolutions on multiple devices (nvbugs 4099530).
      • Fixed Light Path Expression crash in caustic sampler 2.0 if alpha was continued, but color already terminated.
      • Fixed a crash for surface volume coefficients, in case only one is driven by a function (nvbugs 4127509).
      • Fixed a regression if both rounded corners and caustic sampler are used, on CPU and older GPUs.
      • Fixed a regression if both cutouts and caustic sampler are used (nvbugs 4068695).
      • Fixed the false-color overlay of the finite sized environment when environment_dome_visualize is enabled (nvbugs 3815369).
      • Fixed an issue with section caps to fix seemingly transparent clipping planes, this can also improve performance with section planes in general.
      • Fixed beta regression with false matte ground hits if section caps enabled (nvbugs 4111804).
      • Avoided ghost-like shadows when far-clipping inhomogeneous volumes and improved inhomogeneous volume clipping caps (nvbugs 4086715).
      • Fixed ground fog ghost-like shadows (nvbugs 4082897).
      • Fixed missing absorption within ground fog when far clipping outside the scene boundary.
      • Fixed a rare numeric failure in ground fog rendering (nvbugs 4127423).
      • Increased numerical robustness using ground fog in presence of extreme height differences (nvbug 4129471).
      • Fixed beta regression regarding inhomogeneous volume rendering in combination with MDL JIT on the CPU.
      • Slightly improved behavior in tight GPU memory situations.
      • Fixed importance sampling of the df::ward_geisler_moroder_bsdf with multiscatter.
      • Fixed multiple importance sampling numeric boundary case (nvbugs 4061585).
      • Have CPU and CUDA log outputs match for caustic sampler 2.0 hierarchy construction.
      • Saved a bit of memory for triangle geometry on RTX GPUs.
      • Slightly improved pre-processing and update performance of GPU data.
      • Slightly improved some corner cases that lead to more noise with the new caustic sampler enabled (nvbugs 4061578).
    • Iray Interactive
      • Made Interactive behave more like Photoreal when shading lights in white mode (nvbugs 4056766).
      • Clamp section cap colors (nvbugs 4085217).
    • Material Definition Language (MDL)
      • Fixed endless loop in the MDL compiler that could happen if a preset is defined with some literals under care conditions.
      • Fixed potential crash that could occur when an if and its else branch contain identical expressions.
      • Fixed garbage issued in the "called object is not a function" error message.
      • Fixed a crash when a single expression body function references an array length identifier.
      • Fixed a crash in code generation when a MDL cast<> operator was used as an argument for an select instruction.
      • Fixed non-working cast optimization.
      • Fixed missing support for rvalues of constants in the JIT Backend.
      • Fixed optimizer does not replace constants by literal values in loop initializers.
      • Fixed DAG BE generating wrong signatures when struct insert operations are necessary.
      • Fixed handling of global scope operator, ::x may now distinct from x.
      • Printing now \U escape codes with 8 digits instead of 6 when exporting MDL.
      • Fixed a race-condition in the JIT for the native backend leading to some error messages in cases with many CPU cores.
      • The GLSL/HLSL backends now generate "Internal backend error" messages if some code could not be translated into the target language.
      • Added support for some previously unsupported constructs in GLSL/HLSL.
      • Fixed opt_level 0 code generation for the PTX backend.
      • Fixed alignment of vector, matrix, array, color and struct types in argument blocks for GLSL/HLSL.
      • Improved error message when default constructing a struct which has unresolved field types.
      • Fixed auto-generated name for single init function if none was provided. Previously duplicate symbol names were generated causing linker errors when using multiple materials with the PTX backend.
      • libbsdf:
        • Fixed PDF of df::backscattering_glossy_reflection_bsdf().
        • Fixed wrong multiscatter texture for df::ward_geisler_moroder_bsdf().
        • Fixed importance sampling of df::ward_geisler_moroder_bsdf if multiscatter is on.
        • Fixed computation of diffuse part of pdf for all BSDFs with multiscatter_tint.
        • Fixed behavior of df::thin_film film with thickness 0.0.
        • Improved color correctness of df::thin_film.
        • Fixed computation of pdf in measured BSDF in native runtime.
  • rbtwhizrbtwhiz Posts: 2,181

    Iray 2023.0.1, build 367100.3452

    Added and Changed Features

    • General
      • Updated general libraries:
        • OpenSSL 1.1.1u
        • FFmpeg-lgpl-5.1.3-370316
      • Worker threads are now created lazily as needed, not upfront on startup. This makes it also possible to set of soft limit on the total number of worker threads via IScheduling_configuration::set_cpu_load_limit() before launching any work.
    • Iray Photoreal & Iray Interactive
      • Added missing support for Ada (SM8.9) and Hopper (SM9.0) on arm platforms.
    • Iray Photoreal
      • Added motion vectors for the background/dome (i.e. no geometry hit) via the new motion_vectors_background option.

    Fixed Bugs

    • Iray Photoreal & Iray Interactive
      • Fixed normal flipping for tri-planar projection and adapt threshold in projector direction check to be more adaptive (nvbugs 3691327).
    • Iray Photoreal
      • Improved handling of fibers/hairs if the caustic sampler is enabled.
      • Fixed a double auxiliary buffer contribution when hitting volumes (nvbugs 4082804).
      • Fixed ground fog not becoming uniform for identical density values and improved handling of invalid inputs (nvbugs 4138171).
      • Fixed crashes in motion vector and uv auxiliary buffers when using inhomogeneous volumes (nvbugs 4150955).
      • Changed ground fog spectral behavior, make it similar to the inhomogeneous behavior (nvbugs 4151165).
    • Iray Interactive
      • Added rendering of the section caps for the BSDF_weight canvas (nvbugs 4131562).
    • Material Definition Language (MDL)
      • Fixed a crash when certain MDL modules are used with the Iray Bridge or the .mib importer/exporter. This problem affected modules where the compiler implicitly added an import of ::nvidia::df and ::anno, but such imports were not reported, e.g. in IModule::get_import().
      • Fixed wrong reference counts when cloning instances of IPointer and IConst_pointer via IFactory::clone() without using the option DEEP_ASSIGNMENT_OR_CLONE.
      • Fixed compiler crashes for:
        • Invalid call expressions.
        • Invalid array types with a let expression as the array size.
      • Compiler now reports proper errors when a function is returned from a function.
      • Fixed PTX code generation that causes a GPU crash when the load/store instructions are generated with a wrong address space. (MDL-1180)
      • Fixed HLSL/GLSL backends generating float constants with not enough precision. In particular, the ::limits::MIN_FLOAT constant was generated wrong, causing rounding to zero later.
      • Fixed mixer normalization in mdltlc for patterns with attributes.
    • MI exporter
      • Adapt name optimization such that names are only dropped if the current name is in a sub-namespace of the current namespace (nvbugs 4147503).
  • rbtwhizrbtwhiz Posts: 2,181

    Iray 2023.0.2, build 367100.3997

    Added and Changed Features

    • Iray Photoreal
      • Added support for camera distortion when computing motion vectors. For now, only the equidistant camera distortion type is supported though (nvbugs 4152675).

    Fixed Bugs

    • General
      • Fixed a race condition where the following sequence on a transaction would lead to a hang:
        • block transaction
        • commit transaction
        • unblock transaction (from another thread)
      • Suppressed the alpha denoising option if the buffer does not feature an alpha channel, otherwise the AI denoiser (so far) yields broken results (nvbugs 4160093).
      • Improved error handling if loading a OpenVDB file fails.
    • Iray Photoreal & Iray Interactive
      • Fixed a crash when accessing an invalid leaf when employing decals and/or projectors (nvbugs 4172332).
    • Iray Photoreal
      • Fixed a potential bug in the OptiX context handling.
      • Fixed the retrieval of motion transforms for lights (related to nvbugs 4162173).
      • Fixed a crash if ground-fog and auxiliary buffers and clipping section planes are enabled together.
      • Clamped Henyey-Greenstein values to valid range (nvbugs 4181167).
      • Disabled clipping section caps for thin walled materials.
    • Material Definition Language (MDL)
      • Fixed export of uvtile textures referenced in MDL modules.
      • All backends: Fixed code generation for material expressions with path prefix "geometry.normal".
      • Any unsupported code in GLSL/HLSL code generation will now issue an "Internal JIT backend " error. The &lt;ERROR&gt; marker in the generated source will remain.
      • Fixed GLSL alias type definitions inside the GLSL backend (no more "missing conversion constructor" errors).
      • Module transformer: Fixed missing constant declarations when used in some annotations in non-root modules that are inlined. (MDL-1204)
      • Module transformer: Do not loose anno::native() annotations when inlining a module.
      • Fixed MDL compiler options containing double typed values (causing wrong limits::DOUBLE_M[IN|AX]).
      • Fixed the necessary precision to print floats and doubles so it can read back without losses. (MDL-1215)
      • Fixed missing elemental constructor for locally defined structs in the DAG- representation. (MDL-1206)
      • Fixed bug in command line mdl_distiller MDL printer for ::tex module imports when textures are used in material parameter defaults.
  • rbtwhizrbtwhiz Posts: 2,181

    Iray 2023.0.3, build 367100.4598

    Added and Changed Features

    • General
      • Updated general libraries:
        • Curl 8.2.1-371256
        • zlib 1.3

    Fixed Bugs

    • Iray Photoreal & Iray Interactive
      • Fixed builtin orientation of noise bumps in case the source is a projector (related to OM-81251).
      • Fixed incorrect orientation with transformed coordinates for builtin noise bump maps with world/object source (related to OM-81251).
    • Iray Photoreal
      • Improved performance for scenes containing multiple volumes.
      • Fixed a deadlock in the guided sampling synchronizer when running on multiple GPUs.
      • Removed tracing against particles for the IOR/volume stack handling, which could have caused crashes before.
      • Fixed extraneous contributions to LPE buffers, e.g. alpha contributions of longer paths (nvbug 4235237).
      • Fixed incomplete hashing of MDL-JIT materials leading to wrong functions being evaluated (OM-106185).
      • Improved texture ownership management on network cluster workers (related to nvbugs 4162124).
      • Changed the ground fog warning for a fog density of 0, so 0 now counts as valid (nvbugs 4138171).
      • Improved rendering accumulation precision (if running on the GPU)
    • Iray Interactive
      • Added missing support for the world space position aux buffer (nvbugs 4235070).
    • Material Definition Language (MDL)
      • Argument expressions that are created by the API are no longer optimized by the MDL compiler, but stay "unmodified" until arguments in class compilation mode are created. This makes the generated arguments more "deterministic" for users. (MDL-1231)
      • Fixed export of uv-tile textures. Only first tile was exported.
      • Fixed export of animated textures when frame number differs from frame ID.
      • HLSL/GLSL: The compiler uses now name mangling on struct types instead of the very simple old connection with '_'. (MDL-1197)
      • Fixed bug that caused crashes when several MDL modules import each other within a special order. (MDL-1227)
      • Material expressions which path prefix is "geometry.displacement" are now created in the displacement context.
      • Fixed code generation for re-exported MDL entities. (MDL-1229)
      • Fixed parsing of resource sets inside container files (MDLE). (nvbugs 4224647, MDL-1232)
      • Fixed ownership of types in created distribution functions which could lead to crashes under certain complex conditions. (MDL-1238)
      • Fixed crashes due to "missing functions" which are requested from wrong modules, for instance state::cos(). (MDL-1239)
      • Fixed printing of package name components which are MDL keywords and require quoting as Unicode identifiers.
  • rbtwhizrbtwhiz Posts: 2,181

    Iray 2023.0.4, build 367100.4957

    Added and Changed Features

    • General
      • Updated general libraries:
        • OpenSSL 1.1.1w
        • Curl-8.3.0-371868

    Fixed Bugs

    • General
      • Fixed a problem with the post processing pipeline (e.g. upscaling) if a device failed (nvbugs 4248207).
    • Iray Photoreal & Iray Interactive
      • Avoided negative color results for the builtin sun & sky for low/high red-blue-shift values. Also fixes a crash in Iray Interactive (nvbugs 4271671).
    • Iray Photoreal
      • Improved the releasing of device memory.
      • Free device memory as a device is disabled, without having to restart rendering (OM-105871).
    • Material Definition Language (MDL)
      • Catch memory allocation failures in the OpenImageIO plugin while exporting images.
      • Fixed translation of vector access with non-constant index in some cases for HLSL/GLSL.
      • Fixed bit-operations on integer fields in structs containing derivable values.
  • rbtwhizrbtwhiz Posts: 2,181

    Iray 2023.0.5 Iray Server-only, build 367100.5319

  • rbtwhizrbtwhiz Posts: 2,181

    Iray 2023.0.6, build 367100.5773

    Added and Changed Features

    • General
      • Updated general libraries:
        • OpenImageIO 2.4.16.0
        • FFmpeg-lgpl-6.0-370326
        • SQLite 3.43.2
        • Curl-8.4.0-372289
        • FFmpeg-lgpl-5.1.3-372077
    • Material Definition Language (MDL)
      • Various performance improvements, in particular with a focus on creation of compiled materials.
      • Optimized high-level (GLSL/HLSL) code generator to reduce code size.
      • Added new backend option "hlsl_remap_functions": This allows to remap MDL functions (including state functions) to user implemented Native HLSL implementations.
      • Renamed mdl_distiller command line tool to mdl_distiller_cli to more clearly separate it from the distiller plugin of the same name

    Fixed Bugs

    • General
      • Suppressed GPU/CUDA detection errors on macOS (nvbugs 4305731).
    • Material Definition Language (MDL)
      • mdltlc: Fixed matching on nested attribute expressions.
      • Fixed missing enum to int conversion operator an auto-imports, which caused compilation errors in rare cases.
      • Fixed context information when compiling entities in the DAG-backend (fixes only some asserts in debug mode).
      • Fixed HLSL/GLSL code generation for access to single element compound types, like arrays of length 1 or structs with only one field.
  • rbtwhizrbtwhiz Posts: 2,181

    Iray 2023.0.7 Iray Server-only, build 367100.6128

  • rbtwhizrbtwhiz Posts: 2,181

    Iray 2023.1.0 beta, build 373000.714

    Known Issues and Restrictions

    • The minimum NVIDIA driver branch version in order to support the new CUDA and OptiX features is R545 (Windows 545.84 and up).
    • MDLE export can fail in this release with broken .mlde files that contain malformed MDL code.

    Added and Changed Features

    • General
      • Updated general libraries:
        • OpenSSL 3.1.4
        • SQLite 3.44.0
        • Visual Studio 2022/VC143 (Windows release)
        • Xcode 14.2/Clang1400 (macOS release)
        • CUDA 12.3
        • OptiX 8.0
        • NVAPI R535
        • FFmpeg-lgpl-6.1-373387
        • Embree 3.13.4
      • Added support for displacing on-demand meshes.
      • Added scene option ignore_max_displace. If true, displacement values are not clamped by the objects maximum displacement setting. Note that toggling the value at runtime does currently not cause meshes to be re-displaced.
    • Iray Photoreal
      • Exposed Bezier data layout for the fiber/curve primitive.
    • Material Definition Language (MDL)
      • Additional performance improvements, in particular with a focus on creation of compiled materials.
      • The new methods IType_factory::get_mdl_type_name() and create_from_mdl_type_name() allow to serialize and deserialize types via their type names.
      • The new method IType_factory::get_mdl_module_name() returns the name of the MDL module that defines a given type. This is primarily useful for enum and struct types.
      • The method IType_array::get_deferred_size() returns now the "simple" symbol name, e.g., "N" instead of the fully qualified one.
      • The method IExpression_factory::create_direct_call() allows now to create calls to unexported functions. Note that such calls can only be used in the same module as the called function.
      • When loading textures via an MDL module, failures do no longer cause a dummy instance of ITexture to be created and IValue_texture::get_value() returns now a NULL pointer.
      • Removed unused exception_state parameter from generated functions for non-native backends to improve performance. Needs update in renderers calling these functions.
      • Let generated functions for material expressions of base types and vector types return their values directly instead via a result buffer by setting the new backend option "lambda_return_mode" to "value". Only supported by the PTX and the LLVM-IR backend.
      • Generated auxiliary functions now separate albedo into diffuse and glossy, similar to the evaluate functions.
      • Generated auxiliary functions now also report roughness.
      • Debugging features for mdltlc: debug_name and debug_print statements in MDLTL rules files.

    Fixed Bugs

    • Iray Photoreal
      • Fixed wrong caustic sampler computations in certain volume/SSS scenes.
      • Improved deterministic behavior when using the new caustic sampler.
      • Small precision improvement for certain geometry setups.
    • Iray Interactive
      • Fixed regression in tangent handling of projector sources for noise type bumps (nvbugs 4379324).
    • Material Definition Language (MDL)
      • Adapted data layout for PTX to match data layout used by CUDA compiler to avoid problems with misaligned data types.
      • Fixed wrong function indices set for init functions in single-init mode, when ILink_unit::add_material() is called more than once.
      • Fixed invalid CUDA prototypes returned by mi::neuraylib::ITarget_code::get_callable_function_prototype().
      • Fixed texremapu in base.mdl for GLSL resulting in undefined behaviour for negative texture coordinates.
      • Improved handling of invalid MDL code in the MDL compiler.
      • mdltlc: Fixed code generation for rules with node names.
      • mdltlc: Fixed code generation for creation of conditional expressions.
  • rbtwhizrbtwhiz Posts: 2,181

    Iray 2023.1.0, build 373000.1077

    Known Issues and Restrictions

    • As of the time of this release, OptiX will issue a series of warnings of the form unexpected pragma "used_bytes_mask XYZ" upon cache misses. This warning is harmless and can be ignored. This behavior will be fixed with a future driver release.
    • Material Definition Language (MDL)
      • Added rotate_around_x/y/z functions to ::nvidia::support_definitions.

    Fixed Bugs

    • Iray Photoreal
      • Fixed a crash when rendering with several buffers and motion blur using fibers/curves (nvbugs 4397542).
      • Fixed a crash on CPU when picking with e.g. motion blur, ambient occlusion using fibers/curves (nvbugs 4388004).
      • Fixed an OptiX error after switching the fiber/curve type from linear to Bezier (nvbugs 4410890).
      • Fixed broken bounding box computation for Catmull-Rom fibers/curves leading to a crash.
      • Fixed certain attributes not triggering a restart of rendering in the cloud (nvbugs 4138452).
    • Iray Interactive
      • Fixed maximum displacement change not being reflected (nvbugs 4175931).
    • Material Definition Language (MDL)
      • Added missing items about "base.mdl" from Iray 2023.1.0 beta:
        • Improved tangent space handling for bump maps. Noise-based bump mapping is now oriented correctly for object and world space coordinate sources. (OM-81251).
        • Additionally, coordinate transforms change the orientation consistently now. This adds one field to base::texture_coordinate_info.
      • Added a work-around to handle user defined constants inside the code that is added using add_function() to an existing MDL module in the MDL_module_builder interface. This can only handle cases where the user defined type is either defined locally or imported using an absolute path. (MDL-1312)
      • Fixed auto-import of enum conversion operators. (MDL-1319)
      • Fixed a case where the auto-importer was not able to import conversion operators (enum-to-int), which caused wrong prefixed constructors when exporting MDL, e.g. base::int(value). (MDL-1242)
      • Fixed printing of NaN, +inf and -inf constants in the mdl_distiller_cli command line utility. They are now printed as (0.0/0.0), (1.0/0.0) and (-1.0/0.0) respectively, same as in the MDL compiler and SL backends.
  • rbtwhizrbtwhiz Posts: 2,181

    Daz Studio 4.22.1.41 - *Public Build*

     

    • REQUIRES:
      • NVIDIA Driver 545.84 (R545) on Windows
        • NOTE: 546.01 is the first Studio Driver (SD) after the minimum
      • See NVIDIA Driver Downloads
        • NVIDIA recommends installing Studio Drivers (SD)
      • ​SSSE3 enabled CPU is a minimum requirement on macOS/x86
  • rbtwhizrbtwhiz Posts: 2,181

    Iray 2023.1.1 internal, build 373000.1089

    Known Issues and Restrictions

    • The minimum NVIDIA driver branch version in order to support the new CUDA and OptiX features is R535 (Windows 537.13 and up). Note that this is now a smaller minimum requirement compared to 2023.1.0, due to a necessary downgrade to CUDA 12.2.2, as we experienced performance problems with the 12.3 SDK version.

    Added and Changed Features

    • General
      • Updated general libraries:
        • CUDA 12.2.2 (see note above)
      • Made the toon postprocessing effect normal threshold configurable (see PARAM_BIAS).
    • Material Definition Language (MDL)
      • Avoid array copies when accessing arrays provided as function parameters for HLSL/GLSL. (OM-117268)

    Fixed Bugs

    • General
      • ​Added missing (de)serialization of buffer requests for motion vectors, world position, and ambient occlusion (nvbugs 4179733).
    • Iray Photoreal & Iray Interactive
      • Fixed a performance regression introduced with the CUDA 12.3 SDK, mainly affecting some scenes when rendered with Photoreal.
  • rbtwhizrbtwhiz Posts: 2,181

    Iray 2023.1.2, build 373000.1755

    Added and Changed Features

    • Iray API
      • Added a warning for incorrectly used database requests for local removals, i.e., calling ITransaction::remove(..., true) when there is not another version of that database element in a more global scope.
    • Material Definition Language (MDL)
      • libbsdf:
        • The roughness values computed by the generated auxiliary functions changed to contain only glossy contributions.
        • The color weights for normals and roughness in the generated auxiliary functions are now reduced by luminance instead of average.
      • Allow more direct assignments of vectors instead of element-wise assignments for HLSL. (MDL-1311)
      • Avoid unnecessary calls to functions whose values are not actually used. (MDL-1324)
      • Avoid reading whole arrays from argument blocks or read-only data segments when providing those arrays as function parameters. This especially improves rendering performance of axf_importer materials. (MDL-1113, OM-117268)

    Fixed Bugs

    • Iray Photoreal
      • Optimized guided sampling. Performance per iteration is now improved at the cost of slightly more noise per iteration. Overall image quality for same time comparisons is at least similar, mostly better though.
      • Fixed missing radiance correction when entering a volume through a section plane.
      • Fixed a brightness issue when using microfacet BSDFs in df::scatter_transmit mode and guidance.
      • Corrected log output of compression level in auto instancing mode
    • Iray Interactive
      • Fixed a number of potential sources for geometry glitches.
    • Material Definition Language (MDL)
      • nvidia::core_definitions: Fixed ‘–‘ in display names.
      • Fixed type computation of ternary operator in MDL SDK/neuray.
      • Fixed a rare crash that could happen in an MDL module imports other modules and import the same module (diamond pattern). MDL-1341
      • Fixed default constructor of enum values which sometimes did not choose the first enumerator as default value.
  • rbtwhizrbtwhiz Posts: 2,181

    Daz Studio 4.22.1.74 - *Public Build*

     

    • REQUIRES:
      • NVIDIA Driver 537.13 (R535) on Windows
        • NOTE: This is a lower minimum requirement than the previous
      • See NVIDIA Driver Downloads
        • NVIDIA recommends installing Studio Drivers (SD)
      • ​SSSE3 enabled CPU is a minimum requirement on macOS/x86
  • rbtwhizrbtwhiz Posts: 2,181

    Iray 2023.1.3, build 373000.2208

    Added and Changed Features

    • General
      • Updated general libraries:
        • OpenSSL 3.1.5
        • zlib 1.3.1
        • OpenImageIO 2.4.17.0 (with additional EXR luminance chroma patch, nvbugs 4373890)
        • SQLite 3.45.1
      • Completely removed FlexLM/FlexNet from the restrictions module and the licence manager module.

    Fixed Bugs

    • Iray API
      • Fixed IMdl_factory_impl::get_db_definition_name() for entities from the ::<builtins> module.
      • Fixed export of MDL modules with uvtile and/or animated textures, where under certain conditions the first tile/frame was repeated for all tiles/frames of a particular resource set.
    • Iray Photoreal
      • Improved large scene handling of caustic sampler guidance.
      • Fixed a potential hang issue with volume sampling.
      • Fixed a potential hang issue with guided sampling.
      • Fixed a potential issue when accessing 'empty' volume data.
    • Material Definition Language (MDL)
      • Fixed indeterministic generation of rmem* variables for HLSL/GLSL.
      • Fixed invalid HLSL/GLSL code generation
    • AxF Importer
      • Fixed transcoding of BRDFColor map to the domain of non-refracted directions (OM-119145).
  • rbtwhizrbtwhiz Posts: 2,181

    Daz Studio 4.22.1.88 - *Public Build*

     

    • REQUIRES:
      • NVIDIA Driver 537.13 (R535) on Windows
        • NOTE: This is a lower minimum requirement than the 4.22.1.41 build
      • See NVIDIA Driver Downloads
        • NVIDIA recommends installing Studio Drivers (SD)
      • ​SSSE3 enabled CPU is a minimum requirement on macOS/x86
  • rbtwhizrbtwhiz Posts: 2,181

    Iray 2023.1.4, build 373000.3036

    Added and Changed Features

    • General
      • Updated general libraries:
        • OpenSSL 3.1.5
    • AxF Importer
      • Added AxF 1.9 sheen support.

    Fixed Bugs

    • General
      • ​Fixed missing displacement update check (nvbugs 4539359).
    • Iray Photoreal & Iray Interactive
      • Fixed computation of thin film values, mostly notable in Iray Interactive (nvbugs 4497827).
      • Fixed folding of offset/scale for division by negative MDL constants (MDL-804).
    • Iray Photoreal
      • Fixed custom tonemapper data tables being missing on the GPU (nvbugs 4492088).
    • Material Definition Language (MDL)
      • Fixed a crash if IMdl_resolved_resource_element::create_reader() returns nullptr. This might be due to an incorrect user implementation, or in legitimate cases, e.g., if the file disappeared between resolving and the query.
      • Fixed a memory leak involving the interface pointer used with the context option "user_data".
      • Fixed a serialization error when a single write operation on the serializer for database elements generates more than 4GB of data.
      • Fixed inconsistent storing and reading of matrix material parameters in target argument blocks for the native backend. (MDL-1377)
      • Avoid warnings about unsupported PTX features for native backend. (MDL-1375)
      • Don’t let LLVM abort at shutdown, when writing to stderr fails. (MDL-1375)
      • mdltlc: Fixed error in pattern matching of material nodes.
      • Fixed HLSL/GLSL code generation that sometimes placed temporaries into a loop body that are used outside, causing invalid code. (MDL-1369)
      • Fixed crash in the core compiler that might happen on heavily malformed MDL code. (MDL-1315)
      • Prevent errors/warnings in the core compiler without line numbers due to internal clone operations.
      • Slightly speedup compilation in multithreaded operations.
      • Do not try to resolve empty resource URLs; Note that this is still malformed MDL code.
    • AxF Importer
      • Fixed the transcoding of BRDFColor map to domain of non-refracted directions (OM-119145).
      • Improved fallback implementation for refracting clearcoat.
  • rbtwhizrbtwhiz Posts: 2,181

    Daz Studio 4.22.1.110 - *Public Build*

     

    • REQUIRES:
      • NVIDIA Driver 537.13 (R535) on Windows
        • NOTE: This is a lower minimum requirement than the 4.22.1.41 build
      • See NVIDIA Driver Downloads
        • NVIDIA recommends installing Studio Drivers (SD)
      • ​SSSE3 enabled CPU is a minimum requirement on macOS/x86
This discussion has been closed.