Cannot create AOVs with Python API


This is using Path Tracing with PNG output, this is identical code path, execpt for no secondary AOVs, no exr output format and no hdr output on the CaptureOptions, basically the capture options are the same, I will make a reproduction with a simple setup using one of the Omniverse Scenes from NVIDIA to show reproduction steps.

Your suggestion of PT with AOV is impossible because you need 32 bit OpenEXR for depth

I need a depth Z pass of my scene to use WAN 2.1 VACE

VACE 14b depth control (Wan 2.1) | ComfyUI Workflow Can you suggest how to make this possible using the Python or C++ API given the previous limitations

So you are confirming that it seems to be an EXR problem or an AOV problem? It works fine as PNG and no AOVs?

You don’t need 32bit OpenEXR for depth. Even a black and white jpg, still works for camera z-depth, but I am not familiar with VACE. I am not fully aware of your post processing needs.

What exact version of Composer are you using? Hopefully the latest kit 107.3. Windows or Linux? What GPU and what driver?

I found the same issue here on the forum.
5 to 10 percent of rendered exr’s missing scanlines - Core Platform / RTX Renderer - NVIDIA Developer Forums

I have confirmed that PNG with no secondard AOVs works fine

I am getting the error when trying to render AOVs with a png output image driver.

[Error] [carb.imaging.plugin] Saving .png images requires the input data to be in eRGBA8_UNORM format

When attempting AOVs with png with PtZDepth turned on and the rtx setting below

carb.settings.get_settings().set("/rtx/pathtracing/depth32BitAov", True)

but the _LdrColor is saved OK _HdrColor is also missing.

The exact version is Machinima 2022.3.0

On Linux (Ubuntu 24.xx) NVIDIA-SMI 560.35.03 Driver Version: 560.35.03

can you give me instructions on how to write a Z-depth pass as a secondary AOV with a PNG output to an 8bit file type using CaptureOptions as code or even how to do it by hand.

It seems all of the secondary AOVs require a 32 bit float display driver, because if you have it set to a 8bit UINT like PNG or JPEG, you get the following error spamming away

[Error] [carb.imaging.plugin] Saving .png images requires the input data to be in eRGBA8_UNORM format

I think I am going to need to rely on a debug pass of the ZDepth and Capture twice and write to PNG files, this is not ideal.

Also to note I tried with a number of OpenEXR codecs piz, rle, zips, zip, b44, b44a and nothing helps, all had a number of files corrupted

Also as the files are writing the files go from having a size from 4 to 12 megabytes to zero file files a number of times a second from watching the files in Nautilus the Linux GUI file manager.

This doesn’t seem like a feature.

Oh ok. Machinima? I am sorry but that is really really old. It has been depreciated a long time. I cannot easily support that. You are several versions behind. Please download the latest Kit Kat template for 107.3.

You really need to delete Launcher and all of those programs and start fresh.

Follow these instructions: (Windows)

1. Download "git" from https://git-scm.com/downloads
2. Download "git Large File Storage from https://git-lfs.com/
3. Start a windows command console by using running "cmd" from the Windows Start menu
4. Navigate to where you want to install the kit app template folder
5. Copy and run "git clone https://github.com/NVIDIA-Omniverse/kit-app-template.git"
6. run "cd kit-app-template"
7. run "repo.bat template new"
8. run "repo.bat build"
9. run "repo.bat launch"

I can do that and I am pretty sure the problem will persist

I tried doing that on Thursday morning it is now Saturday morning

Please answer this question

“Is there an equivalent Omniverse Kit bash script that creates a Kit headless viewport window in memory and runs a Python script from the command line?”

I want to compare like with like as this is how I want to run Omniverse Kit not from a GUI session

I know that Issac Sim has a headless mode

Can you also answer my query

“How do you make a ldrColor and PtZDepth AOV to an 8bit PNG file using Python code?”

You initial statement said that this glitching was due to bad animation and not the OpenEXR display driver.

That turned out not to be the case

What code commits have been made to the AOV OpenEXR display drivers between 2022 and 2025

I will check the release notes but my suspicion is none at all

The only record I have to do with Omniverse and AOV is dated 2022

Can you please test for yourself and see that the 32 bit OpenEXR files continuously, (and 32bit is required for a PtZDepth pass as mentioned in the video tutorial)go from zero bytes to between 4 and 12 megabytes at the millisecond scale while being written to disk, this is the kind of behaviour that would create OpenEXR file corruption

I found a headless Omniverse Docker container here

So maybe that will help reproduce the error with the latest Omniverse Kit so that the developers will have more clear reproduction steps with a modern Omniverse Kit

Please be aware that I have spent over 40 hours getting to this point and there has been nothing but obstacles along the way

Creating AOVs in a mature DCC with a OpenUSD scene graph would typically take less than 5 hours

The investment of my time is throwing more good money after bad

I understand and I am here to help, but I cannot reproduce this error. It would be a good first step for you to download kit 107.3 USD Composer and test the scene there. Or even send me your scene.

Please start with this and then if it does not work, we can file tickets to help. I cannot file support tickets against Machinima. The code has changed so much. We updated AOV just last week, so we are updating it all the time. And the EXR code.

Just to address some of your specific points.

  1. I did not say your issue was from bad animation. I said that the only time I have seen this before was from bad keyframes. I did not say I knew what your issue is.
  2. Yes you can run USD Composer 107.3 headless if you wish, with the command --no window. Why do you have to use it headless? I am just curious.
  3. just because you do not see something very specific in the release notes, does not mean we have not updated the code for it. We have 100s of bug fixes that go into each release. It does not mean we write about each one in the release notes.
  4. I understand your frustration and the hours you have spent. Your project looks great. Impressive. But if you are having issues in super old discontinued software, I am not even allowed to ask the engineers for help. And I am not a code expert.
  5. Finally we are not a DCC. Not even close. We are not even an application. USD Composer and all of Omniverse is a development platform for Photo Real Digital Twin Simulation. We are not designed to be a DCC in any way. And certainly not for any kind of VFX or Character work.

What GPU and drivers are using?

Lets get your scene open in Kit 107.3 and go from there. Then we can get you up to speed.

I am running the tests now on Ubuntu 24.04.2 with Omniverse 107.3

spoiler using the GUI with the VR example scene and Create > AOV and then set the AOVs to save 32 bit AOVs with the camera setting in the render product and the dimensions set to 1920 x 1080 and output to ~/Kit/shared/capture/output_test_107.3_frames crashed after 14 frames on a machine with 116 Gb of System Memory and 2 x RTX 3090 cards with driver 560.35.03 CUDA 12.6 on Linux 6.11.0-26-generic under Ubuntu 24.04.2 LTS directly after an apt get update and apt get upgrade

logs.zip (14.1 KB)

Please find zipped logs attached

I will record a video of reproduction steps now

Looks like a massive memory leak to system RAM OOM error

Please find the reproduction steps attached.