Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • OSL gettextureinfo() can now query metadata in textures.  This is limited to only OpenEXR format textures, and will fail if it can't be done at shader JIT-compile time and constant-folded, which means it's largly incompatible with file-name substitution tokens.
  • PxrSurface subsurface "continuationRayMode" 2 (and 1) for "subsurfaceType" 0, 2, 3, and 4 now receives subsurface scattering from the last hit which was previously missing under some circumstances.  And the subsurface scattering noise may be reduced.
  • The LPE for direct subsurface scattering in RIS has changed from two bounces C<TD3><TD2>L to a single bounce C<TD3>L. However, the commonly used LPE for subsurface scattering -- CD3[DS]*L -- (which includes optional secondary bounces) works as before.

  • Reduce fireflies in diffusion subsurface scattering near 90 degree angles -- as on cubes etc.

  • UDIM expansion inside <primstr:> texture substitutions are now supported. RMAN-18303

  • The PxrRamp pattern now has a more intuitive 0-1 default.
  • Fix PxrColorCorrect Contrast Banding. This will cause a look difference between RenderMan 25 and 26.
  • When LamaHairChiang's "mollification" parameter is on, the three longitudinal roughness values ("ltRoughnessR/TT/TRT") were mollified too much, leading to hair that looked too diffuse.  This has been fixed in both RIS and XPU.
  • LamaIridescence albedo and normal AOVs now have prefix "Iridescence" -- to be more consistent with the AOVs of other Lama nodes and the PxrSurface iridescence lobe.

  • Lama specular albedo and normal AOVs now have prefix "Specular" -- to be more consistent with the "DiffuseAlbedo" and "DiffuseNormal" names and match PxrSurface AOV names.

Statistics

  • Added a new Option “statistics” “string jsonFilename” for generating a JSON report from the new stats system. 
  • Telemetry Listener console output now include elapsed time and metric type (SAMPLE or EVENT).
  • The CSV output from the Telemetry Listener is now sorted by time.
  • stportal now supports loading JSON files from the command-line.

  • JSON report viewing in stportal now includes search and filter options in the file comparison tab.

  • Fixed a timing bug which caused the renderer to produce inaccurately high timing stats on the Linux platform when running on some recent CPUs.

...

  • The OSL shaders PxrTexture, PxrMultiTexture, PxrLayeredTexture, PxrBump, and PxrNormalMap have a new int parameter: "smoothRayDerivs". When 1 (which is the default value), derivatives and hence texture filter widths at ray hit points are computed in a more robust manner, providing consistent widths independent of the orientation of the underlying surface geometry. When 0, the old formula (using straight Dx() and Dy() OSL derivatives) is used for the texture filter widths.() and Dy() OSL derivatives) is used for the texture filter widths.
  • The PxrTexture parameter "maxResolution" now works more reliably, both in RIS and XPU, and for both ray hit shading and displacement shading. (Same for PxrMultiTexture, PxrLayeredTexture, PxrNormalMap, PxrBump, and PxrProjectionLayer.)

RIS

Geometry

  • A bug in the shadow and reflection trace bias for round cubic curves in RIS has been fixed.  The bias is now consistent with flat and linear curves, and also consistent with XPU.  The fix causes changes in shadows and shading on round cubic curves, particularly near other objects.  To get the old behavior: Option "trace" "int incorrectCurveBias" [0|1]. The default is 0.
  • Added support for a new spline-based opacity mode to RiPoints. Previously, falloff could be specified for RiPoints as a single power value. A primvar 'falloffpower' controlled this. 0 meant no falloff, any other value meant apply a power function using that power value to control the shape. RiPoints prims now support three falloff modes:

    • "none" - no falloff. This is equivalent to the old approach with falloffpower = 0.0

    • "power" - power based falloff. This is equivalent to the old approach.

    • "spline" - spline based falloff. This is a new mode which supports multiple types of spline shapes, matching the OSL spline implementation.

    A new primvar [constant string falloffmode] ["none|power|spline"] selects which mode to use. (If this primvar is absent, compatibility code will ensure the previous behavior is followed.) If spline mode is selected, the following three primvars control the falloff shaping:

    • [constant string falloffsplinetype] ["constant|linear|bezier|bspline|catmull-rom|hermite"]

    • [constant float[N] falloffsplineknots] [<array of N knot values between zero and one>]

    • [constant float[N] falloffsplinevalues] [<array of N values between zero and one>]

    Values of N between 1 and 16 are supported. Extra knots will be inserted at the beginning and end of the curves to ensure the spline tangents are horizontal at the start and end. The spline evaluation can be expensive, so a table lookup is used by the implementation to reduce costs. 1k entries are used with a linear lookup, which in testing has been found to be artifact-free for all reasonable point sizes.

...

  • Attribute "volume" "temporalmethod" is no longer supported. The only method of generating temporal data for volume rendering is the Eulerian method.
  • Fixed a crash that would happen when the "Light Source" parameter of a PxrVolume is enabled while the stats json listener is also enabled. RMAN-21054

  • Reduced memory usage of volumes rendered using the impl_openvdb plugin. RMAN-20942

Integrators

  • PxrUnified now supports Attribute "trace" "reflectsubset", "reflectexcludesubset", "transmitsubset", and "transmitexcludesubset" in fashion identical to PxrPathTracer.

Shading

  • Integer primvars can now be properly accessed from OSL. RMAN-20966The PxrRamp pattern now has a more intuitive 0-1 default.

Textures

  • The scalability of the texture cache when using many threads on RIS has been greatly improved. On machines with many cores, this may result in a substantially faster time to first pixel for scenes with many textures. RMAN-20729

...