Contents
The first phase of XPU delivers a complete feature set for look development. However, some features are not supported yet but will be as XPU matures to replace RIS. Here is a high-level summary of those features supported currently in XPU
Shading
BxDFs, Displacement & Patterns | RIS | XPU | Notes |
---|---|---|---|
PxrSurface | (some subsurface modes are not available) | ||
PxrLayerSurface | |||
PxrDisneyBsdf | |||
PxrMarschnerHair | |||
PxrConstant | |||
Lama | |||
Volumes | |||
OSL Patterns | (PxrDirt and PxrCurvature are not supported) | ||
C++ Patterns | |||
Baking | |||
Point Clouds |
- Custom Bxdf or Displacement plugins are unsupported.
- MaterialX Lama support will be implemented in a future release.
- Single scattering support in PxrSurface is not complete because volumetric light transport is not fully supported in XPU.
Patterns & Textures
- There is no support for custom C++ plugins. Patterns written in OSL are supported.
- PxrSeExpr is not supported.
- PxrDirt & PxrCurvature require the trace() OSL call, which is not yet supported.
- Point clouds are not supported.
- PxrBakeTexture and PxrBakePointCloud are not supported.
- Textures with a non square pixel aspect ratio are not supported.
- If you update a texture while the renderer is running, XPU may not update the texture. If this happens, restart your render.
- If you stop interactive rendering while textures are still being made, sometimes you will get a crash.
OSL
- In XPU, the first argument to the OSL getbuiltin() shadeop is ignored. You may continue to specify a first argument in order for your shader to remain compatible with RIS, but the distinction between "primvar", "builtin", and "attribute" that exists in RIS does not exist in XPU.
- getattribute() calls asking for geometry primvars (in RIS, getattribute("primvar")) are fully supported.
getattribute() calls targeting "builtins" (renderer computed quantities that are not directly geometry primvars) are partially supported. Some builtins known to RIS are not currently available in XPU. The most important changes are summarized in the table below. If an alternative is suggested, it means that OSL patterns should be rewritten to use the alternative to be as forward looking as possible, particularly if a OSL global exists.
Geometry
RIS | XPU | Notes | |
---|---|---|---|
Subdivision Surfaces | (Catmull-Clark only) | ||
Polygonal Surfaces | |||
NURBS | |||
Curves | |||
Points | (Some features are not available) | ||
Quadrics and Blobbies | |||
Nested Instancing |
Lighting
RIS | XPU | Notes | |
---|---|---|---|
Analytic Lights | ( PxrEnvDaylight, PxrCylinderLight not available; some light parameters are not available ) | ||
Mesh Lights | |||
Light Filters | |||
Light Linking | |||
Scalability to many lights | (Some features are not available) |
Integration & Ray Tracing
RIS | XPU | Notes | |
---|---|---|---|
PxrPathTracer | (some features are not available ) | ||
PxrUnified | |||
PxrVisualizer | (some features are not available ) | ||
Trace Sets |
Post Processing
RIS | XPU | Notes | |
---|---|---|---|
Sample and Display Filters |
Pipeline
RIS | XPU | Notes | |
---|---|---|---|
AOVs and LPEs | |||
EXR, TIFF | |||
Deep Output | |||
Holdouts |