Hey All,
I’m looking to render a mesh created in Warp directly into an Isaac Sim Scene – I got it working by writing the data into an existing prim with mesh, but I would greatly prefer it working without creating a sync point for the CPU/GPU.
The Warp code samples seem to suggest this should be possible, but I can’t get it working in a python extension to Isaac sim (2023.1.0)
Specifically The Warp example “example_mesh.py” demo code instances a USDRenderer with reference to the USDScene, however creating an instance of USDRenderer throws an error when called inside Isaac Sim as so.
Failing code sample:
from warp.render import UsdRenderer
class SomePythonExtension(omni.ext.IExt):
def __init__(self, world=None):
super().__init__()
stage = omni.usd.get_context().get_stage()
self.renderer = UsdRenderer(stage)
error message:
2023-10-23 13:15:13 [Error] [carb.scripting-python.plugin] ErrorException:
2023-10-23 13:15:13 [Error] [carb.scripting-python.plugin] Error in 'pxrInternal_v0_22__pxrReserved__::UsdGeomXformable::AddXformOp' at line 190 in file W:\ac88d7d902b57417\USD\pxr\usd\usdGeom\xformable.cpp : 'The xformOp 'xformOp:rotateY' already exists in xformOpOrder [[xformOp:rotateY, xformOp:rotateX]].'
2023-10-23 13:15:13 [Error] [carb.scripting-python.plugin]
2023-10-23 13:15:13 [Error] [carb.scripting-python.plugin] At:
2023-10-23 13:15:13 [Error] [carb.scripting-python.plugin] c:/users/…./appdata/local/ov/pkg/isaac_sim-2023.1.0/extscache/omni.warp.core-0.10.1/warp/render/render_usd.py(114): __init__
...
Probably creating/using a USDRenderer with this context is incorrect but I can’t seem to find any documentation on how to do this properly
can anyone help me out?