Solaris Fails to Render Karma Pyro Material

   1792   13   7
User Avatar
Member
5 posts
Joined: Oct. 2018
Offline
Hello!

I have a problem rendering the output of a pyro simulation from the USD Render ROP in the Solaris context that is quite baffling.

I am using the Karma Pyro Material to render the simulation using the XPU engine. The material renders beautifully in the Viewport in Solaris. However, when the time comes to write the file, the render rop reports an error: "Unsupported AOV settings for:" aov_fire and aov_scatter. This is confusing because I am not attempting to render those AOVs anywhere in the render settings that I am aware of, though the scene graph indicates that they are being used somewhere and they are available in the View Display Options (though they appear to be empty).

I am able to use Karma in the regular Out context and pasting the material into the Mat context, though it does not render as well or with as much detail, so it's not the ideal solution.

I am using both Pyro Post Process and Pyro Bake Volume and sending the resulting volumes to Solaris with a null from the Obj context. I am not using the shaders in either node, I am using them to create and adjust the scatter volume. This has happened across 2 different production builds of Houdini, which suggests there is something in my scene file that I am simply overlooking. I will import the sim into a brand new file to test that theory, but I needed to deliver a test render today, so that will have to wait. Everything looks good in the view port, changes to the material propagate as expected, it just fails right at the point when it needs to create the EXR (I am using additional image planes, but's just emission and albedo).

The current scene file is very large, so that's another reason for me to start fresh. I'm just really curious about how standard material settings and render nodes lead to aovs with unsupported settings.

Thanks for any help!
User Avatar
Staff
469 posts
Joined: May 2019
Offline
newmethos
I am using the Karma Pyro Material to render the simulation using the XPU engine.

Do you get the same issue with Karma CPU vs Karma XPU?
User Avatar
Member
14 posts
Joined: Sept. 2016
Offline
Ya getting the same issue on Karma CPU and XPU.

I am attaching screenshots of both cases with the same karma pyro material.

The AOVs render blank. If you connect them to a collect however, it only renders the scatter AOV and nothing else.
Edited by sharanvaswani93 - Jan. 24, 2024 03:06:37

Attachments:
Screenshot 2024-01-24 133212.png (77.7 KB)
Screenshot 2024-01-24 133221.png (144.1 KB)
Screenshot 2024-01-24 133354.png (89.2 KB)
Screenshot 2024-01-24 133406.png (65.5 KB)
Screenshot 2024-01-24 133425.png (42.9 KB)

Sharan Vaswani
https://youtu.be/v2q5iE4iHxI [youtu.be]
https://chakshuvfx.gumroad.com [chakshuvfx.gumroad.com]
User Avatar
Member
14 posts
Joined: Sept. 2016
Offline
attaching the file as well. Its a Simple Shelf Bonfire.

Attachments:
karma_pyro_aov_issues.hiplc (2.8 MB)

Sharan Vaswani
https://youtu.be/v2q5iE4iHxI [youtu.be]
https://chakshuvfx.gumroad.com [chakshuvfx.gumroad.com]
User Avatar
Member
5 posts
Joined: Oct. 2018
Offline
Brian,

yes, as with Sharan, this happens to me on both Karma CPU and XPU. I have an nVidia Geforce RTX 3070 on 546.01 drivers. It's odd because the live render is fine, it's writing it to disk where information vanishes. Also, as Sharan says the aov_scatter and aov_fire image planes are blank in Houdini in every context and in the renders from the Out context (I checked them in Nuke afterward and there is just no information there, which certainly would explain why they don't look correct in the Out context).
User Avatar
Member
14 posts
Joined: Sept. 2016
Offline
newmethos, I turned off the "Create Render Var" toggle on all the Karma AOVs and instead I manually added it under the Image Output -> Extra Render Vars -> Name & Source Name (type color3f). It is now rendering for both aov_scatter and aov_fire and I dont get the errors in the console.

The help docs for the Karma AOV node says they added these toggles so users don't have to manually add the AOVs but I think there is some issue with it and it doesn't work as expected.

"This node marks a shader signal for output by the renderer to an AOV (render var). It configuring the corresponding render var automatically." - Help Docs.
Edited by sharanvaswani93 - Jan. 25, 2024 00:06:31
Sharan Vaswani
https://youtu.be/v2q5iE4iHxI [youtu.be]
https://chakshuvfx.gumroad.com [chakshuvfx.gumroad.com]
User Avatar
Member
5 posts
Joined: Oct. 2018
Offline
Adding the AOVs by hand removes the errors, but it still does not produce any output. The XPU engine looks great in the Solaris context on the stage. The USD Render Rop produces nothing, not in the beauty pass, not in either of the AOVs. This happens with both Karma CPU and XPU. Solaris seems to be rendering what is visible in the OpenGL view of the pyro with the material applied, which is empty (also weird, the density volume should be rendering even in OpenGL, but it is not).

Attachments:
XPU in viewport.jpg (766.4 KB)

User Avatar
Member
14 posts
Joined: Sept. 2016
Offline
Okay try these steps, I've done it using a simple Bonfire Shelf and Karma Pyro Material. I have not hand-placed any of the Karma AOV nodes (its as default) to test.

As per the help, from what I understand, the Create Render Vars Toggle on the Karma AOV nodes should be doing these steps in the background but it doesn't seem to be working. This quick fix might help and it seems to work in both CPU and XPU.
Edited by sharanvaswani93 - Jan. 31, 2024 01:09:52

Attachments:
31.01.2024_11.30.36_REC.gif (8.6 MB)

Sharan Vaswani
https://youtu.be/v2q5iE4iHxI [youtu.be]
https://chakshuvfx.gumroad.com [chakshuvfx.gumroad.com]
User Avatar
Member
14 posts
Joined: Sept. 2016
Offline
I have raised a bug report for the same.
Sharan Vaswani
https://youtu.be/v2q5iE4iHxI [youtu.be]
https://chakshuvfx.gumroad.com [chakshuvfx.gumroad.com]
User Avatar
Member
5 posts
Joined: Oct. 2018
Offline
Thank you for raising the bug report. I have been working in the Solaris context and not creating my own LOPNet in the Obj context, so I can try that. I can always render from the Obj context, but the material never renders in Karma XPU the way it does in the Solaris IPR but in the Solaris context, the final file output is always completely blank. To make my work relevant to the current job, I'm going to try a custom MaterialX volume shader. The built-in pyro shaders simply will not output anything but blanks EXRs on this one for me.

Edit: I tried making custom MaterialX volume shaders and it changed nothing about Solaris' inability to render. I will have the opportunity to work with the shelf bonfire in a brand new scene file to see what happens and if Solaris behaves, I'll import the simulation to see if the render will work.
Edited by newmethos - Feb. 3, 2024 23:55:53
User Avatar
Member
5 posts
Joined: Oct. 2018
Offline
Ok, took things all the way back to the shelf tool and followed Sharan's method and was able to successfully render both the shelf bonfire and my sim when I hijacked the shelf networks by loading the geo in via a file node. Solaris works and it is fast and it faithfully represents how the Karma IPR works. I still get an "Error Loading Source" message with every frame, fwiw, but hey, the frame actually renders, so I don't really care!

I'll have to go over the HIP with my original sim with a fine-toothed comb (it's a janky file that's been re-purposed for this pyro from its original intent, so there are several garbage networks that need to be trimmed and nodes that need to be re-examined). Thanks again for the help and if I can figure out what I did wrong in the Stage context, I will update the thread.
User Avatar
Member
14 posts
Joined: Sept. 2016
Offline
If you can email your findings to SideFx support with Side Effects Support Ticket: #148351 (BUG #134678) it might help them understand the bugs better.
Edited by sharanvaswani93 - Feb. 4, 2024 15:56:17
Sharan Vaswani
https://youtu.be/v2q5iE4iHxI [youtu.be]
https://chakshuvfx.gumroad.com [chakshuvfx.gumroad.com]
User Avatar
Staff
4164 posts
Joined: Sept. 2007
Online
This should be fixed in tomorrow's build; 20.0.617 corrects the aov format type on the generated render var prim.
I'm o.d.d.
User Avatar
Member
14 posts
Joined: Sept. 2016
Offline
Hi newmethos,

In the Karma Pyro Material just unplug the 'Karma AOV' nodes if you do not want the aov_fire and aov_scatter. These nodes were designed to automatically create Render Vars within the shader so you do not have to recreate them again within the Karma Render Settings again.

It is a bit different from the usual Mantra Process where you have to bind export attributes within the shader and then add them in the Image Planes again to create custom AOVs.
Sharan Vaswani
https://youtu.be/v2q5iE4iHxI [youtu.be]
https://chakshuvfx.gumroad.com [chakshuvfx.gumroad.com]
  • Quick Links