Alexandre Veaux

Tuft

About Me

Connect

LOCATION
Canada

Houdini Skills

Availability

Not Specified

Recent Forum Posts

HDK Custom Solaris renderview : Stage access Dec. 19, 2022, 12:05 p.m.

Amazing, thanks for the help Mark, this makes sense ! I'll implement your suggestions and come back here should I need more help. Thanks again for the quick answer and clear guidance !

HDK Custom Solaris renderview : Stage access Dec. 19, 2022, 11:31 a.m.

Hey, I'm bumping this up since this brought up a few questions.

I've got the stage access/mirroring working well thanks to Mark's tips. But I have been struggling to find the correct way to track changes on the resulting stage of the viewer lop, obtained via getViewerLop().
I have tried hooking an addOpInterest() to the viewer lop, but this is not giving me the behavior I was hoping for :
- The callback gets called, but not for the right reasons. OP_PARM_CHANGED is called when the viewer LOP itself has a parm change, but not it's input nodes (and OP_INPUT_CHANGED is not called either).
- OP_PARM_CHANGED may be called when the input nodes change but that's just luck because of a parm expression in most LOP nodes (something about guide scale). The actual parm that changed is not passed to the callback.
- Even then, when the callback is triggered, using getCookedDataHandle() yields the stage before the edit. It feels like I'm breaking evaluation here. If I edit a node again, getCookedDataHandle() will return the stage with the edit before that. Calling forceRecook() just before getCookedDataHandle() seems to work, but I've had instability with it.

I've studied the Houdini Bridge Repo trying to find clues but no luck

So my question is :
- How does one properly catches that a specific node needs to be cooked because itself or it's inputs have changed ?
- Is there anything particular to be aware of to get an up to date stage when calling getCookedDataHandle() ?

Thanks a bunch !

HDK Callback when node needs to be recooked Dec. 14, 2022, 9:42 p.m.

Hi !

Using the HDK, I am looking for a way to have a callback whenever the output of a specific node needs to be recooked, whether because that node changed, or because one of it's inputs changed. I did find the addOpInterest(...) method, but the callback only triggers for the specific node it's assigned to (which makes sense), but does not trigger when input nodes change (at least not in LOPs).
I've looked into the documentation but couldn't find anything else to listen to node changes, what is the preferred method to do this ?

Thanks !