Isaac Sim - Accurate (Iray) Renderer

Hello,

I want to use the Accurate (Iray) renderer in Isaac Sim.

In Create I can activate the renderer from the drop-down menu, but in Isaac Sim I only see the Real-Time and Path-Tracing renderer.

Is there any way to activate the Iray renderer for Isaac Sim?

Thanks,
Jonas

You need to go to Render Settings as shown in the screenshot above.

I don’t think this is true. I saved the settings into a usda while having render settings set to Iray and got this:

#usda 1.0
(
customLayerData = {
dictionary renderSettings = {
int “rtx:pathtracing:maxBounces” = 8
int “rtx:pathtracing:spp” = 5
string “rtx:rendermode” = “PathTracing”
}
}
)

The iray rendering system has been removed from Issac Sim. It is only available in python script, but not in the UI by default now.

By using the extra argument --/renderer/enabled=‘rtx,iray’ in the Isaac Sim App Selector, it is possible for me to get the Accurate (Iray) renderer as an option in the drop-down menu. However, it seems that selecting the option in the drop-down menu does not change the renderer everywhere. For me, it, for example, changes the renderer of the displayed viewport. However, the renderer of the outputs of the Synthetic Data Recorder does not change to Iray. Also, the renderer used to publish images of the viewport (via “Isaac Get Viewport Render Product” and “ROS2 Camera Helper” action nodes) or of cameras (via “Isaac Create Render Product” and “ROS2 Camera Helper” action nodes) to ROS2 seems to not change to Iray when I select it in the aforementioned drop-down menu. However, it seems to change when I switch between the Real-Time renderer and the Interactive (Path Tracing) renderer in the mentioned drop-down menu. The same issue also occurs when I launch Isaac Sim with Python as a SimulationApp and use the get_rgb() function of the Camera class in the omni.isaac.sensor extension.

Additionally, I also noticed the occurrence of an error when I blocked the two RTX renderers by using the extra argument --/renderer/enabled=‘iray’ and then using, for example, the “Isaac Create Render Product” action node:

2024-02-09 14:48:21 [66,259ms] [Warning] [omni.usd] Failed to create Hydra Engine for viewport!
2024-02-09 14:48:21 [66,268ms] [Warning] [omni.usd] No hydra engine was found with name ‘rtx’, running at tickrate: ‘120’ and matching hydraengine flags: ‘0x0’

Is it possible that the Accurate (Iray) renderer is only partially implemented in Isaac Sim, or did I miss some other option to change the renderer? Being able to use the Iray renderer would be crucial for me, as some very complex materials do not work with the other two renderers.

Thank you very much, and best regards.

Yes you cannot simply overide the iray system with that flag. You have to go to your Extensions Manager in Issac Sim and find the iray rendering extension and enable it. The entire extension is off by default now. So you have to load it before you can use it. Do not edit the code flags.

The issue also occurs for me when the extensions omni.hydra.iray, omni.iray.libs and omni.iray.settings.core are enabled. Those extensions for me are enabled by default when I launch Isaac Sim via the Isaac Sim App Selector. Are there any other extensions which I would need to enable?

I will try to find out. One thing you could do is simple open your USD project in USD Composer and render in IRAY there.

Thank you very much. I would prefer to use Isaac Sim due to its ability to interact with ROS2 and to also simulate, e.g., IMU’s. The material which I would like to use is an MDL material with a measured BSDF, which seems to be not supported by the RTX Real-Time renderer. I would like to use this material in order to have a smaller sim-to-real gap during testing of robotic algorithms.