Daz Studio 4.23(.0.x) - NVIDIA Iray
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.23.0.4 (October 10, 2024)
- 4.23.0.3 (October 9, 2024)
- 4.23.0.1 (October 7, 2024)
- 4.22.1.228 (October 4, 2024)
- 4.22.1.224 (September 27, 2024)
- 4.22.1.221 (September 23, 2024)
- 4.22.1.202 (September 6, 2024)
- 4.22.1.161 (June 26, 2024)
- 4.22.1.154 (June 17, 2024)
- 4.22.1.150 (June 4, 2024)
- 4.22.1.136 (May 3, 2024)
- 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.23.0.1 (October 7, 2024)
- 4.22.0.19 (September 16, 2024)
- 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:
Comments
Iray 2023.0.0 beta, build 367100.1652
Known Issues and Restrictions
Added and Changed Features
df::dusty_diffuse_reflection_bsdf
).df::thin_film
modification ofdf::custom_curve_layer
anddf::directional_factor
.unicode identifiers
.light_profile
andbsdf_measurement
have no members.unary_expression
toassignment_expressions
for the expression affected by the variables. This ensures the right scope precedence, e.g., the let-expression ends at a sequence operator.import_path
,qualified_import
to allow Unicode identifiers in package and module names.anno::in_group
standard annotation to control the UI presentation of groups.node_output_port_default
and the respective enumeration typenode_port_mode
to control the default initialization of output ports for external shade graph nodes when they are created for MDL functions.noinline
to hint that a function or material should not be inlined by the compiler.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.math::smoothstep
and that it is undefined for a zero or reversed interpolation range.float4x4
as supported data type for scene data lookup.custom_curve_layer
anddirectional_factor
as eligible base BSDF for thethin_film
BSDF modifier.measured_factor
modifier BSDF allows reflectivities above one and it is in the responsibility of a material author to ensure energy conservation.parameter_list
,argument_list
,enum_type_declaration
andannotation_block
.base::abbe_number_ior
.base::coordinate_projection()
to reduce size of generated GPU code.mi::neuraylib::IMdl_backend::execute_init()
method to allow calling init functions in single-init mode for the native backend.in_group annotation
(collapsed).in_group$1.7
" annotation.in_group annotation
(collapsed).in_group$1.7
" annotation.ICompiled_material::lookup_sub_ expression()
,IMdl_distiller_api::create_baker()
, various methods onIMdl_backend
and theTarget_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>.".DS_SEQUENCE
frommi::neuraylib::IFunction_definition::Semantics
.IImage::set_from_canvas()
, andIImage_api::create_canvas_from_buffer()
, andIImage_api::create_canvas_from_reader()
. The old signatures are deprecated. They are still available ifMI_NEURAYLIB_DEPRECATED_14_0
is defined.create_texture()
,create_light_profile()
, andcreate_bsdf_measurement()
onIMdl_factory
have been changed: These methods take now aIMdl_execution_context
pointer as last argument instead of the optionalmi::Sint32
pointer. The old signatures are deprecated. They are still available ifMI_NEURAYLIB_DEPRECATED_14_0
is defined.IImage::create_mipmaps()
has been renamed toIImage::create_mipmap()
. The old name is deprecated. It is still available ifMI_NEURAYLIB_DEPRECATED_14_0
is defined.IImage_plugin
has been changed to allow selector support and better plugin selection (See the API reference documentation for details):supports_selectors()
has been added.open_for_reading()
has an additional parameter for the selector string.test()
method takes now a reader instead of a buffer and the file size.df::dusty_diffuse_reflection_bsdf
.df::thin_film
modification ofdf::directional_factor
anddf::(color_)custom_curve_layer
(MDL-1048).df::thin_film()
where the base BSDF is identical to the BSDF of the other case of the ternary.enable_pdf
" backend option to allow disabling code generation of PDF methods for distribution functions.mdl_next
" option. Especially the following features were added:scene::lookup_data_float4x4()
.anno::native()
,anno::node_output_port_default()
.mdl_next
" option is currently a no-op.Fixed Bugs
meters_per_scene_unit
in MDL-JIT compiled volume materials, and in general fix several issues related to this.in
' in the 'let
' expressions, leading to a compiler error and resulting in that only unary type of expressions could be parsed correctlydf::scatter_transmit
mode.df::thin_film
with a thickness of zero, independent of the IOR value.df::thin_film()
handling for PTX backend.Iray 2023.0.0, build 367100.2992
Added and Changed Features
df::fog_vdf
).fog_vdf
.particle_size
parameter of the newfog_vdf
approximative Mie VDF model refers to the particle diameter.ILink_unit::add_environment()
. UseILink_unit::add_function()
withILink_unit::FEC_ENVIRONMENT
as second parameter instead. The old method is still available ifMI_NEURAYLIB_DEPRECATED_14_0
is defined.IExpression
, in particularIExpression_temporary
andExpression_parameter
.Argument_editor::set_value()
andget_value()
allow now to set or get entire arrays in one call.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()
ITransaction::copy()
from0
toLOCAL_SCOPE
for consistency withstore()
. The old behavior is still available ifMI_NEURAYLIB_DEPRECATED_ITRANSACTION_COPY_DEFAULT_PRIVACY_LEVEL_ZERO
is defined.IMdl_factory::create_texture()
to support VDB files.ITarget_code::get_body_texture_count()
byITarget_code::get_texture_is_body_resource(mi::Size)
to query the information for the individual resources; same for light profiles and BSDF measurements.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.value
and no longer . This might change expression paths to material compilation.nvidia::core_definitions
df::thin_film()
on the DAG.\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.\u
or\U
are now an error.Fixed Bugs
irender_target.h
.state::texture_coordinate(0).z
to contain thickness (i.e. diameter), not radius, matching the MDL spec.environment_dome_visualize
is enabled (nvbugs 3815369).df::ward_geisler_moroder_bsdf
with multiscatter.::x
may now distinct fromx
.\U
escape codes with 8 digits instead of 6 when exporting MDL.opt_level 0
code generation for the PTX backend.df::backscattering_glossy_reflection_bsdf()
.df::ward_geisler_moroder_bsdf()
.df::ward_geisler_moroder_bsdf
if multiscatter is on.df::thin_film
film with thickness 0.0.df::thin_film
.Iray 2023.0.1, build 367100.3452
Added and Changed Features
IScheduling_configuration::set_cpu_load_limit()
before launching any work.motion_vectors_background
option.Fixed Bugs
BSDF_weight
canvas (nvbugs 4131562).::nvidia::df
and::anno
, but such imports were not reported, e.g. inIModule::get_import()
.IPointer
andIConst_pointer
viaIFactory::clone()
without using the optionDEEP_ASSIGNMENT_OR_CLONE
.::limits::MIN_FLOAT
constant was generated wrong, causing rounding to zero later.Iray 2023.0.2, build 367100.3997
Added and Changed Features
Fixed Bugs
uvtile
textures referenced in MDL modules.<ERROR>
marker in the generated source will remain.anno::native()
annotations when inlining a module.limits::DOUBLE_M[IN|AX]
).mdl_distiller
MDL printer for::tex
module imports when textures are used in material parameter defaults.Iray 2023.0.3, build 367100.4598
Added and Changed Features
Fixed Bugs
_
'. (MDL-1197)geometry.displacement
" are now created in the displacement context.state::cos()
. (MDL-1239)Iray 2023.0.4, build 367100.4957
Added and Changed Features
Fixed Bugs
Iray 2023.0.5 Iray Server-only, build 367100.5319
Iray 2023.0.6, build 367100.5773
Added and Changed Features
hlsl_remap_functions
": This allows to remap MDL functions (including state functions) to user implemented Native HLSL implementations.mdl_distiller
command line tool tomdl_distiller_cli
to more clearly separate it from the distiller plugin of the same nameFixed Bugs
enum
toint
conversion operator an auto-imports, which caused compilation errors in rare cases.1
or structs with only one field.Iray 2023.0.7 Iray Server-only, build 367100.6128
Iray 2023.1.0 beta, build 373000.714
Known Issues and Restrictions
Added and Changed Features
Fixed Bugs
Iray 2023.1.0, build 373000.1077
Known Issues and Restrictions
Fixed Bugs
Daz Studio 4.22.1.41 - *Public Build*
Iray 2023.1.1 internal, build 373000.1089
Known Issues and Restrictions
Added and Changed Features
Fixed Bugs
Iray 2023.1.2, build 373000.1755
Added and Changed Features
Fixed Bugs
Daz Studio 4.22.1.74 - *Public Build*
Iray 2023.1.3, build 373000.2208
Added and Changed Features
Fixed Bugs
Daz Studio 4.22.1.88 - *Public Build*
Iray 2023.1.4, build 373000.3036
Added and Changed Features
Fixed Bugs
Daz Studio 4.22.1.110 - *Public Build*