Page tree

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 37 Next »

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


General

  • XPU currently requires a CUDA-compatible GPU to be installed, even if the intention is to run only in CPU mode.
  • The behavior of XPU when it runs out of memory on your GPU:  XPU will crash if it runs out of memory on your GPU.  If you are running XPU inside of Maya, Houdini, or Blender, this will bring down your application as well.  Be sure to save often.  We are going to work to mitigate the two biggest causes of this condition.
  • If you have more than one GPU, we allow you to specify which GPU to use with XPU but do not yet support the ability to use more than one GPU at the same time.
  • XPU is not yet supported on the Mac.

DCCS

  • XPU does not currently support the redirection of errors away from the console, which means DCCs will not be able to report XPU errors in their UI.
  • Warnings on the console when rendering to XPU from Katana.  There are some warnings you will see on the console about a bad DSO being found for the socket display driver.  You can ignore these.
  • Picking from "it" does not relay the selection back to RenderMan for Maya
  • RenderMan for Maya supports batch rendering to XPU (PxrPathTracer integrator)



Shading

BxDFs, Displacement & PatternsRISXPUNotes
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


RISXPUNotes

Subdivision Surfaces

(Catmull-Clark only)

Polygonal Surfaces


NURBS


Curves


Points

(Some features are not available)

Quadrics and Blobbies


Nested Instancing



  • Loop Subdivision is not supported. Catmull-Clark for both quads and triangles is supported.
  • Point falloff is not yet supported.
  • Shading of nested instancing has artifacts.  In our tests we have seen shading issues with leaves that are rendered as nested instances.

  • Inverted normals are possible when doing displacement, depending on the input file and DCC.  We have seen this with Alembic being imported into Houdini.

  • String geometry primvars are not supported.




Lighting


RISXPUNotes

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)


  • Light Filters & Light Linking are currently not supported.
  • "shot" based lighting features will be available in future releases.  Examples include:
    • Emission Focus
    • Light groups
    • Manifold Next Event Estimation
  •  XPU does not support color temperature on lights yet. This means the correct color space won’t be applied when a temperature is converted to an RGB value.





Integration & Ray Tracing


RISXPUNotes

PxrPathTracer

(some features are not available )

PxrUnified


PxrVisualizer

(some features are not available )

Trace Sets



  • numBxdfSamples, numLightSamples, numIndirectSamples (and their manually set counterparts) are not supported.
  • clampDepth and clampLuminance (used to suppress fireflies) have not been implemented.
  • Russian Roulette has not been implemented.
  • Non-stochastic presence is not currently supported - the maxNonStochasticOpacityEvents parameter is ignored






Post Processing


RISXPUNotes

Sample and Display Filters






Pipeline


RISXPUNotes

AOVs and LPEs


EXR, TIFF


Deep Output


Holdouts



  • XPU currently only outputs EXR or TIFF frames.
  • Adaptive sampling is yet to be implemented.
  • Only some geometric built-in AOVs are available under the same name as they are available for RIS.
  • Multi-camera, multi-frame is not yet supported.
  • The "weighted" option for the pixelfiltermode parameter to the Hider will not be supported.
  • Baking - either at the pattern level via PxrBakeTexture or at the renderer level to bake global illumination is not yet supported.
  • Cached presence or opacity is not supported in XPU. XPU renders of transparent surfaces may be sharper as a result (they will not be biased by the micropolygon size).