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?
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
| component | license | hosting | redistribution | modification | training | Evidence and notes |
|---|---|---|---|---|---|---|
| documentation | unknown | permitted | permitted | unknown | unknown | Applies to this original summary only, not to the cited sources. |
Linked records
- cites → https://github.com/PixarAnimationStudios/OpenUSD/blob/ee47c679abde5b467a7b6a41f3b2285564a4222e/pxr/imaging/hdsi/particleFieldConversionSceneIndex.cpp
- cites → https://github.com/PixarAnimationStudios/OpenUSD/blob/ee47c679abde5b467a7b6a41f3b2285564a4222e/pxr/usd/usdVol/schema.usda
- cites → https://github.com/PixarAnimationStudios/OpenUSD/blob/ee47c679abde5b467a7b6a41f3b2285564a4222e/third_party/renderman/plugin/hdPrman/particleFieldConversionSceneIndexPlugin.cpp
- cites → https://github.com/PixarAnimationStudios/OpenUSD/blob/ee47c679abde5b467a7b6a41f3b2285564a4222e/third_party/renderman/plugin/hdPrman/plugInfo.json
- cites → https://github.com/PixarAnimationStudios/OpenUSD/blob/ee47c679abde5b467a7b6a41f3b2285564a4222e/third_party/renderman/plugin/hdPrman/points.cpp
- cites → https://github.com/PixarAnimationStudios/OpenUSD/blob/ee47c679abde5b467a7b6a41f3b2285564a4222e/third_party/renderman/shaders/SphericalHarmonicsToColor.osl
- cites → https://raw.githubusercontent.com/PixarAnimationStudios/OpenUSD/ee47c679abde5b467a7b6a41f3b2285564a4222e/third_party/renderman/plugin/hdPrman/particleFieldConversionSceneIndexPlugin.cpp