Usage Examples#
Register and unregister a Custom Renderer#
from omni.hydra.pxr.settings import RendererSettingsFactory
# Define your renderer details
plugin_id = "MyCustomRenderer"
display_name = "My Custom Renderer"
stacks_list = ["Global", "MyRenderer"] # Stack names for renderer visibility in UI
# Register the renderer - this makes it available in the RenderSettings Widget
# and adds it to the Viewport renderer drop-down
RendererSettingsFactory.register_renderer(
plugin_id=plugin_id,
stacks_list=stacks_list,
display_name=display_name
)
# Unregister the renderer - this removes it from both the RenderSettings Widget
# and from the Viewport renderer drop-down
RendererSettingsFactory.unregister_renderer(plugin_id=plugin_id)
Enable and Disable a Renderer from the Viewport#
This should be done at startup.
from omni.hydra.pxr.settings import RendererSettingsFactory
import carb.settings
# Enable a specific renderer for the viewport only
plugin_id = "MyCustomRenderer"
display_name = "My Custom Renderer"
# This adds the renderer to the viewport's dropdown list
# without affecting the RenderSettings Widget
RendererSettingsFactory.enable_viewport_renderer(
plugin_id=plugin_id,
display_name=display_name
)
# This removes the renderer from the viewport's dropdown list
# without affecting the RenderSettings Widget
RendererSettingsFactory.disable_viewport_renderer(plugin_id=plugin_id)
# Verify the renderer was removed from the renderers list
settings = carb.settings.get_settings()
renderers = settings.get("/pxr/renderers")
print(f"Available renderers after disabling: {renderers}")