...
Important Differences
- To achieve interactive rendering including geometry edits, RenderMan 22 has a high performance interface for bridge products, the new interactive scene graph. However, the Ri interface is still supported, including Ri Procedurals, but only from a batch oriented workflow. In particular, Ri editing features are not supported anymore.
- The default coordinate system known as "current" has changed. "Current" space is context dependent and subject to change
- Displacement is changeable from Object Space (current space) or World Space in shaders, it will not be possible to exactly match previous displacement results.
- Bxdf is in World Space
- Analytic Lights are in Object Space
- Light Filters are in World Space
- Integrators are in World Space
- Sample Filters are in World Space
- All geometry is an instance
- Attribute identifiers are now integer instead of float
- Note that the light angle parameter on lights has been corrected to use the correct measurement in degrees from the edges. This will alter the look of older scenes. To match older scenes there's a bit of math involved: newTheta = 90 - atan(2.tan(90 - oldTheta))
- We do not include the Librix library
- RtToken has been replaced, any string that is passed to the renderer must be a RtUString
- Always camera-facing curves are not supported anymore. Curves without explicit normals are now rendered as cylinders.
- Dtex format is deprecated, use Deep EXR instead.
- Some previous materials have been deprecated or removed
- LM Materials
- PxrGlass
- PxrSkin
There have also been many subtractions designed to improve the user experience through simplification and streamline performance options. Please note the deprecated sections below as quite a lot has been removed from RenderMan. This may impact your scripts, plugins, and more.
Deprecated Ri Calls
- RiEdits do not function
Deprecated Options
- Ri:Clipping
- Ri:DepthOfField
- Ri:PixelFilterName
- Ri:PixelFilterWidth
- camera:zblur - use camera property
- dice:pretessellate
dice.maxhairlength
- dice.maxhairvolume
- hair:traceminwidth
- limits:nearhither
- polygon:pretessellate
- polygon:nonplanar
- polygon:reducedmemory
curve.:orienttotransform
- curve.:stochasticshadows
searchpath.:resource
statistics.:endofframe
limits.:zthreshold
options.shutter:*options
.polygon.:*options
.hair.:*
- curve.:maxdepth
- curve.:stochasticshadows
rerender.:logrange
rerender.:progressive
hider.bake.:pixelSamples
Deprecated Camera Options
- hider:aperture
- hider:dofaspect
- nearhither
- focusregion
- zBlurNearDistance
- zBlurNearDiameter
- zBlurNearFocusDistance
- zBlurFarDistance
- zBlurFarDiameter
- zBlurFarFocusDistance
Deprecated Attributes
Ri:CoordinateSystem- bound:displacement
- compatibility:oldmotionfactor
- curve:widthminsegments
- derivatives:centered
- dice:instancestrategy
- dice:instanceworlddistancelength
- dice:maxangle
- dice:preservecv
- dice:relativemicropolygonlength
- dice:resetrelativemicropolygonlength
- dice:stitch
- dice:tessellateretainbspline
- dice:hair
- dice:roundcurve
- displacementbound:transform
- hider:mattemode
- polygon:reducedmemory
- procedural:attributes
- shade:frequency
- shadegroups:attributecombining
- stitchbound:transform
- trace:gritcurves
trace.decimationrate
trace.displacements
- volume:compressionerror
- volume:deptherror
Miscellaneous Changes
- Everything is now an instance within the core of the renderer
- A change in the display driver output now outputs RGBA instead of ARGB
- The default (current) coordinate space is different. We now render in world space. Previously this was all in camera space. This affects features like the P AOV
- Many shading operations are now in object space (displacement is particularly affected and will likely require lookdev or shader changes)
- Any string that is passed to the renderer must be a "UString" or "unique string"
- Curves with normals are supported, as are round curves. But curves with no normals as a notation for desiring always camera-facing curves is not supported. as such, orientation and reverse orientation for curves is no longer supported
- For subdiv faces, face edits higher than depth 1 are not supported
- Motion vectors have changed
- RxGetContext is removed
- RixTransform API is deprecated and will be removed soon.
- Added circular bucket/tile order
- A new InvalidateTexture call has been added to RixRiCtl.
- Attribute identifiers are now integer instead of float
- Added camera options:
Add camera apertureNSides
Add camera apertureAngle
Add camera apertureRoundness
Add camera apertureDensity
- Default cache limits have been increased to better reflect modern machines
- Pointmemory and Octreememory are both now 20480
- Ptexturememory limit is now 32768
- Opacitycachememory is 1048576
- Brickmemory is 2097152
Info | ||
---|---|---|
Improvements since Beta 22.0b7
|
Info | ||
---|---|---|
Improvements since Beta 22.0b6
|
Info | ||||
---|---|---|---|---|
Improvements since Beta 22.0b5
|
Info |
---|
Improvements since Beta 22.0b4
|
Info |
---|
Improvements since Beta 22.0b3
|
Info |
---|
Improvements since Beta 22.0b2
|
Info |
---|
Improvements since Beta 22.0b1
|
Known Limitations
Interactive/Live Rendering Limitations
- Crop window edits are restricted to fall inside the original crop window
- Bucket order or size cannot be changed during live rendering
- min and max samples settings cannot be altered during live rendering
- Changes to Presence do not update when using the cache option
- Motion Blur will disappear during interactive rendering with scene changes
- Displacement does not update on changes
- Objects are not re-diced during interactive sessions
- Mesh lights cannot be interchanged as geometry without restart.
RenderMan Pro Server
- Meshlights cannot be instanced
- Load on demand procedurals are not supported anymore, all procedurals are now loaded immediately
- We do not read point data from OpenVDB files
- Analytical lights placed inside volumes may yield artifacts when made visible to the camera. As a work around, the light camera visibility should be turned off, and a geometry with a similar shape should be used (visible to camera, invisible to transmission and indirect rays), with the proper emissive bxdf.
- Using the '.' character in the handle for an OSL shader could cause unpredictable results during re-rendering.
- Per-Instance baking is not supported, only the reference instance.
- 3d baking: no direct bake-to-ptex support.
- PxrBakePointCloud cannot directly render ptex.
- No RixPTC/pointcloud API (so PxrBakePointCloud cannot read ptc files).
- Sample/Display filter plug-ins do not have access to lighting services for light dependent effects, e.g. lens flare.
- Adding new mesh light on existing geometry during IPR results in double geometry.
- PxrUPBP is not supported and will be removed
- When attempting to access an array primvar, you must first check the size of the array primvar and allocate the appropriate space. Not doing so may lead to a crash.
- Points and curves cannot be used as geometric lights.
Deformation motion blurred volumes don't currently work with densityFloatPrimVar or densityColorPrimVar. You will need to use a PxrPrimVar node connected to densityFloat and densityColor instead.
Note The Centos KDE style "Oxygen" installs a version of Qt and sets the user's environment variable QT_PLUGIN_PATH forcing "it" and LocalQueue to attempt to load an incompatible Qt library. Either avoid installing the Oxygen theme or unset QT_PLUGIN_PATH before running "it" or LocalQueue. Other KDE styles may also install this theme.
Beta Limitations
Geometry:
- Dicing cameras
- Displacement improvements
- Watertight dicing speed
- Cracks
- Brickmaps
Materials:
- OSL completeness
Lighting related:
- Shadow collectors
Image creation:
- Denoiser bugs remain
Pipeline features:
- USD direct read in RenderMan
...