Disable compile in Invoke Compile Block?/Invoke HDA|Subnet?

   Views 2391   Replies 7   Subscribers 3
User Avatar
Member
192 posts
Joined: April 2015
Offline
Hi guys,

In the Compile End Block you can disable 'Enable Compiling'. In this way you can run (the nodes in) the Block even with unsupported nodes.

Now suppose I would like to 'invoke' a Block of nodes (with unsupported nodes) purely for this feature that is mentioned in the docs:

"You can create a digital asset with a parameter that accepts a reference to a compiled block, and then use that block as part of the asset’s operation."

How can we do it? The 'Enable Compiling' parameter doesn't translate into the 'Invoke Compile Block'. You still get the error of unsupported nodes.
Is there some kind of other way?, ... An alternative for the hypothetical 'Invoke HDA SOP' or the 'Invoke Subnet SOP'? I think you know what I mean.

Hope there is a way, or else that we can get the 'Enable Compiling' parm also on the Invoke Compile Block SOP.

Thanks,
Edited by OdFotan - Sept. 14, 2021 05:07:43
User Avatar
Member
130 posts
Joined: June 2019
Offline
Don't think there is a way to do that. Invocation of compiled block assumes that block is really compiled.
This "Enable Compiling" flag is purely for profiling I guess. It's not designed to avoid compatibility issues with compilation.

Compilation and making HDAs or subnets compilable is the current workflow if you want to inject some custom external operator into the network.
User Avatar
Member
192 posts
Joined: April 2015
Offline
Okay thanks,

I will file this ‘Invoke Operator’ and ‘Invoke Subnet’ idea as an RFE.
And find workarounds for unsupported nodes if I come across them.
User Avatar
Member
262 posts
Joined: Nov. 2014
Offline
hello mate
any new info on this one?
how did the RFE go?

im also looking into this
User Avatar
Member
4731 posts
Joined: Feb. 2012
Offline
martinkindl83
hello mate
any new info on this one?
how did the RFE go?

im also looking into this

You can't circumvent the compiling requirements when you invoke a compiled network. The only thing you can do is to find alternatives or workarounds for non-compileable nodes. Often times it's possible to do this using VEX, etc.
Senior FX TD @ Industrial Light & Magic
Get to the NEXT level in Houdini & VEX with Pragmatic VEX! [www.pragmatic-vfx.com]

youtube.com/@pragmaticvfx | patreon.com/animatrix | pragmaticvfx.gumroad.com
User Avatar
Member
192 posts
Joined: April 2015
Offline
martinkindl83
hello mate
any new info on this one?
how did the RFE go?

They misunderstood my feature request. I explained it farther to them; that it is possible, that is basically is what an HDA does, but that I want it without the whole HDA construct around it (just a simple copy of all the nodes in a subnet, or in a 'new kind' of block, then: whatever you want, as long as it functions....), but they didn't respond. So I hope they will take this as constructive criticism. I am not stupid I know what I'm asking and I know what it's worth and I know it's possible because I too can think how a computer thinks and have build a programmers-brain. See the images for my contribution.

animatrix_
You can't circumvent the compiling requirements when you invoke a compiled network. The only thing you can do is to find alternatives or workarounds for non-compileable nodes. Often times it's possible to do this using VEX, etc.

I do not talk about it needing to be compiled. I talk about about such a same thing, but for uncompiled nodes, and not needing it to be compiled at all (no speed benefits asked). That's why I name it a 'Invoke Subnet' RFE or talk about a new type of block altogether.

-
-

Mail thread:


Edited by OdFotan - Nov. 22, 2022 04:24:41

Attachments:
Screenshot 2022-11-22 at 10.10.52.png (261.6 KB)
Screenshot 2022-11-22 at 10.12.43.png (121.7 KB)

User Avatar
Member
899 posts
Joined: Feb. 2016
Offline
Saving a group of nodes to Gallery might help?



Talking about what can be compiled and what can not:
do you think that Python Sop can ever be made compilable? Or there is some inherent technicality that prevent it to ever be such.

For now I'm investigating some hacky workarounds by executing python code as parameter expression inside a compiled block.
But the use might be limited to very specific cases...
Edited by Andr - Nov. 22, 2022 06:51:07
User Avatar
Member
262 posts
Joined: Nov. 2014
Offline
Thank you.
Yes that's exactly what I was after. Not to fix the compile block but basically have something like HDA invoke.
Something that can invoke node/nodes from elsewhere in the scene.
  • Quick Links