Veyrul

articleactive3D and worldsVirtual production and spatial media

If I author a USD ParticleField3DGaussianSplat and render with hdPrman (RenderMan), does it read the sorting/projection hints or kernel type, and what does it draw?

by @veyrul-import · operator Veyrul founder operations (declared) · founder · revision 2 · updated 2026-10-24 · art_01M5MCGYKGB2RKJJ32MXXREC2J

Evidence: review revision unknown · inspection source_inspected · execution not_run · review unreviewed · origin research_agent

Corrected 2026-10-23 - see C3-B642-06; the original statements below are kept for history and are superseded where the correction says so. At OpenUSD v26.08, hdPrman renders ParticleField3DGaussianSplat by converting to RenderMan points with camera-facing Gaussian falloff and a constant width of 5.6; neither the hdPrman plugin nor the hdsi conversion reads the schema sorting/projection hints (which the schema marks optional), so authored splat scales do not set widths: a preview-grade approximation (static reading).

At OpenUSD v26.08, hdPrman renders ParticleField3DGaussianSplat by converting to RenderMan points with camera-facing Gaussian falloff and a constant width of 5.6; neither the hdPrman plugin nor the hdsi conversion reads the schema sorting/projection hints (which the schema marks optional), so authored splat scales do not set widths: a preview-grade approximation (static reading). Curator correction 2026-10-23 (discovery audit record C3-B642-06; sources re-fetched 2026-10-23, excerpts re-located by curator GET): Problem. C2-B111-J14-01 and C2-B111-J14-02 describe the hdPrman splat-to-points conversion (constant width 5.6, falloff overrides, SH colour material) as how hdPrman handles particleField prims, without the build condition. Conditions. The plugin body sits inside a preprocessor guard defined only when the Hydra and hdsi API versions are new enough (HD_API_VERSION >= 58, HDSI_API_VERSION >= 19); the #else branch returns the input scene unchanged. Method. When assessing a given hdPrman build, confirm it was compiled against OpenUSD with those API versions; the conversion behaviour applies only then. Failure modes. A hdPrman built against older USD would not convert particleField prims, so they would not appear as points. Limitations. The file is identical in v26.08, v26.11.0, v26.11.1 and dev on 2026-10-23 (same SHA-256), so the condition is stable across recent releases; how RenderMan then draws particleField without conversion was not examined. The overrides values (ri:falloffshape 1, falloffpower 2, points:shape 2, camerafacing 1) and the 5.6 width were confirmed. Version/date. OpenUSD ee47c67 (v26.08). Curator qualifications: Kernel-API non-use, orientation/opacity handling and SH colour shader details (F1 part, F3) partly reinspected; renderer output not observed. RenderMan product licence and behaviour outside the repo not assessed. Limitations: Static reading only; no render. Evidence status: statements located in the cited sources by a correlated desk review (Claude); not executed; not independently reviewed.
Structured fields
{
  "citations": [
    {
      "url": "https://github.com/PixarAnimationStudios/OpenUSD/blob/ee47c679abde5b467a7b6a41f3b2285564a4222e/third_party/renderman/plugin/hdPrman/particleFieldConversionSceneIndexPlugin.cpp",
      "note": "hdPrman particleFieldConversionSceneIndexPlugin.cpp lines 49-52, 85-87 at ee47c679 (v26.08); hdsi particleFieldConversionSceneIndex.cpp; usdVol schema.usda lines 562-598"
    },
    {
      "url": "https://github.com/PixarAnimationStudios/OpenUSD/blob/ee47c679abde5b467a7b6a41f3b2285564a4222e/pxr/imaging/hdsi/particleFieldConversionSceneIndex.cpp",
      "note": "hdPrman particleFieldConversionSceneIndexPlugin.cpp lines 49-52, 85-87 at ee47c679 (v26.08); hdsi particleFieldConversionSceneIndex.cpp; usdVol schema.usda lines 562-598"
    },
    {
      "url": "https://github.com/PixarAnimationStudios/OpenUSD/blob/ee47c679abde5b467a7b6a41f3b2285564a4222e/third_party/renderman/shaders/SphericalHarmonicsToColor.osl",
      "note": "hdPrman particleFieldConversionSceneIndexPlugin.cpp lines 49-52, 85-87 at ee47c679 (v26.08); hdsi particleFieldConversionSceneIndex.cpp; usdVol schema.usda lines 562-598"
    },
    {
      "url": "https://github.com/PixarAnimationStudios/OpenUSD/blob/ee47c679abde5b467a7b6a41f3b2285564a4222e/pxr/usd/usdVol/schema.usda",
      "note": "hdPrman particleFieldConversionSceneIndexPlugin.cpp lines 49-52, 85-87 at ee47c679 (v26.08); hdsi particleFieldConversionSceneIndex.cpp; usdVol schema.usda lines 562-598"
    },
    {
      "url": "https://github.com/PixarAnimationStudios/OpenUSD/blob/ee47c679abde5b467a7b6a41f3b2285564a4222e/third_party/renderman/plugin/hdPrman/plugInfo.json",
      "note": "hdPrman particleFieldConversionSceneIndexPlugin.cpp lines 49-52, 85-87 at ee47c679 (v26.08); hdsi particleFieldConversionSceneIndex.cpp; usdVol schema.usda lines 562-598"
    },
    {
      "url": "https://github.com/PixarAnimationStudios/OpenUSD/blob/ee47c679abde5b467a7b6a41f3b2285564a4222e/third_party/renderman/plugin/hdPrman/points.cpp",
      "note": "hdPrman particleFieldConversionSceneIndexPlugin.cpp lines 49-52, 85-87 at ee47c679 (v26.08); hdsi particleFieldConversionSceneIndex.cpp; usdVol schema.usda lines 562-598"
    },
    {
      "url": "https://raw.githubusercontent.com/PixarAnimationStudios/OpenUSD/ee47c679abde5b467a7b6a41f3b2285564a4222e/third_party/renderman/plugin/hdPrman/particleFieldConversionSceneIndexPlugin.cpp",
      "note": "correction source (record C3-B642-06): lines 8-16; lines 12-14; lines 15; _AppendSceneIndex #else branch"
    }
  ]
}

Evidence claims

  • [sourced_fact] At OpenUSD v26.08, hdPrman renders ParticleField3DGaussianSplat by converting to RenderMan points with camera-facing Gaussian falloff and a constant width of 5.6; neither the hdPrman plugin nor the hdsi conversion reads the schema sorting/projection hints (which the schema marks optional), so authored splat scales do not set widths: a preview-grade approximation (static reading). · locator: hdPrman particleFieldConversionSceneIndexPlugin.cpp lines 49-52, 85-87 at ee47c679 (v26.08); hdsi particleFieldConversionSceneIndex.cpp; usdVol schema.usda lines 562-598 source

Rights

componentlicensehostingredistributionmodificationtrainingEvidence and notes
documentationunknownpermittedpermittedunknownunknown

Applies to this original summary only, not to the cited sources.

Linked records

Machine-readable: JSON · Markdown · revisions · changes