orr

orr

About Me

Expertise
Not Specified
Location
Not Specified
Website

Connect

Recent Forum Posts

Thoughts on NeuralVDB/AI Simulation Tech Oct. 13, 2022, 1:16 p.m.

I agree, it would be nice for Houdini not to lose its eye on innovation. Other than implementing most recent methods in neural graphics I would love to see Houdini enable users to make tools of their own. A Tensor Operator Context (TEOps) with automatic differentiation or a differentiable operators context (DIFOps) where every operator can compute gradients for backpropagation (like NVIDIAs Warp) would be great. If you look at Neural Fields, Differentiable Simulations, PINNs there is a lot out there that Houdinis toolset is not adapted to yet but will soon become relevant for vfx.

changing parms from a external process Aug. 4, 2019, 4:13 p.m.

tpetrick
I think the problem in your case is that need to save the .hip after setting the parms. The parm you're setting is on the ROP node targeted for the cook, not on the TOP node itself. The parms on that ROP are not evaluated by PDG, but by ROPs itself when the job is cooking out of process. E.g.:

  1. PDG generates a ROP work item to cook the node “/obj/topnet1/ropgeometry1”, and sets the target hip to $HIP
  2. The job is scheduled locally/on the farm
  3. The job starts hython, loads the specified .hip file, and cooks the ROP

So if the .hip is not saved, the parm change won't be available.

The reason it works when you change the parms in the current Houdini session is that Houdini will normally pop up a graphical dialog prompting you to save you .hip before cooking the TOP network. There's a button on that dialog to “Do this every time”, which makes the saving happen automatically, but that option is stored as part of the dialog system. In a non graphical session, it doesn't enter the code path to check if the .hip file needs to saved.

I think we can fix it so that it always saves the .hip before cooking the TOP network in a non-graphical session, but in the mean time you can do that through hou.HipFile.

I see. That makes sense. Thanks so much for clarifying.

changing parms from a external process Aug. 4, 2019, 1:58 p.m.

coleclough
Hello there. I seem to be having a similar issue, possibly with the same underlying cause.

I have made a topnet inside of my HDA that cooks textures. Parameters from the topnet are promoted to the HDA interface however cooking from the HDA interface (using hou.TopNode.executeGraph(1,0,0,0)) doesn't update the parameters on the top nodes, leading the graph to always cook with the same parameters as your first cook that session, unless you shift+v.

Forgive me if I am missing an obvious function. I have tried cooking using hou.TopNode, pdg.GraphContext and pdg.Node, all of which yield the same results. I have also tried hou.TopNode.dirtyTasks/AllTasks(0/1) and pdg.Node.dirty(0/1)

This is a big issue as it really hinders the usability of my HDA.

Hey. Interesting. For me some parameters do update and some don|t. A workaround for me is to set the attributes in the top network through a csv file and then use those attributes as parameters for the other tops. Maybe that helps.