# Rendersettings in usdrecord/framerecorder

**URL:** <https://forum.aousd.org/t/rendersettings-in-usdrecord-framerecorder/1912>\
**Category:** Hydra\
**Created:** [October 15, 2024, 2:44pm UTC](https://forum.aousd.org/t/rendersettings-in-usdrecord-framerecorder/1912 "2024-10-15T14:44:10Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![denglesson](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.aousd.org/denglesson/32/600_2.png) [@denglesson](https://forum.aousd.org/u/denglesson)\
**Post date:** [October 15, 2024, 2:44pm UTC](https://forum.aousd.org/t/rendersettings-in-usdrecord-framerecorder/1912/1 "2024-10-15T14:44:10Z")

</div>

Hi,

I have been testing out usdrecord with rendersettings from thirdparty renders such as Vray and Renderman. To my knowledge it looks like only Renderman is supposed to work with a rendersetting nodes in usdrecord, but I am not seeing that either. I have tried it w/wo the USDIMAGINGGL\_ENGINE\_ENABLE\_SCENE\_INDEX enabled but no dice.

Here is a simple testcase where I am changing pixelfilters in renderman. Both Vray and Renderman works nicely in husk and in the Solaris viewport.

**The following attributes are set:**  
_token ri:Ri:PixelFilterName = “gaussian”_  
_float2 ri:Ri:PixelFilterWidth = (20, 20)_  
_custom float vray:SettingsImageSampler\_filter\_size = 20_  
_custom int vray:SettingsImageSampler\_filter\_type = 7_

| | Houdini | usdrecord |
| --- | --- | --- |
| prman | ![](https://us1.discourse-cdn.com/flex016/uploads/aousd/original/1X/c6e10c91552436925102ff465c4d5f7efed72c84.png) | ![](https://us1.discourse-cdn.com/flex016/uploads/aousd/original/1X/24cb00de3c21478ee1c888d6049c012dbb823e68.png) |

_ **usdrecord command:** usdrecord testrendersettings.usda usdrecord\_prman.png --renderer Prman --camera /cameras/camera1 --imageWidth=512 --renderSettingsPrimPath /Render/rendersettings_

**Test scene:**  
[testrendersettings.usda](https://forum.aousd.org/uploads/short-url/sqHDtQtobslYqaxkIynPbTucMun.usda) (3.5 KB)

It looks like the rendersettings are never passed to the render delegates properly. However, it looks like all namespaced attributes gets populated (looking at the Hydra Scene Index Browser), and the rendersettings are getting set properly by UsdImagingGLEngine::SetActiveRenderSettingsPrimPath() function and propagated all the way to the sceneGlobalsSceneIndex.

So my questions are:

1. Should rendersettings work in usdrecord with prman?
2. Afaik usdrecord has been setup with reading the rendersettings node, but is it just certain attributes it can work with?
3. Does a renderer need to hook into this in a special way to make it work as the namespaced attributes seems to be there?

Any advice would be much appreciated 🙂  
Dan

---

<div class="post-metadata">

**Author:** ![denglesson](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.aousd.org/denglesson/32/600_2.png) [@denglesson](https://forum.aousd.org/u/denglesson)\
**Post date:** [October 16, 2024, 9:44am UTC](https://forum.aousd.org/t/rendersettings-in-usdrecord-framerecorder/1912/2 "2024-10-16T09:44:10Z")

</div>

Ah Ok, I think not all rendersettings are passed along properly for Prman unfortunately. I think I picked some bad primvars to test with where the pixelfilter settings are getting pruned in the Riley options.

> <https://github.com/PixarAnimationStudios/OpenUSD/blob/v24.08/third_party/renderman-26/plugin/hdPrman/utils.cpp#L710>

Testing with pixelvariance instead works 🙂, and enabling TF\_DEBUG=HDPRMAN\* gave some good pointers to what was passed in in the end.

I see that Prman has implemented a renderSettingsFilteringSceneIndexPlugin that specifies the ri namespaces to take those into account in the filtering. If those are not provided, they will be filtered out and discarded, right? I guess all third party renders needs to set this up in a similar fasion to this here to make it work in usdview then?[OpenUSD/third\_party/renderman-26/plugin/hdPrman/renderSettingsFilteringSceneIndexPlugin.cpp at v24.08 · PixarAnimationStudios/OpenUSD · GitHub](https://github.com/PixarAnimationStudios/OpenUSD/blob/v24.08/third_party/renderman-26/plugin/hdPrman/renderSettingsFilteringSceneIndexPlugin.cpp#L86)  
[OpenUSD/third\_party/renderman-26/plugin/hdPrman/renderSettings.h at v24.08 · PixarAnimationStudios/OpenUSD · GitHub](https://github.com/PixarAnimationStudios/OpenUSD/blob/v24.08/third_party/renderman-26/plugin/hdPrman/renderSettings.h)
