HDK: compiled sops example

   2697   6   4
User Avatar
Member
30 posts
Joined: Oct. 2011
Offline
New compiled masterclass was great, is it possible to get any HDK documentation or an HDK example setting up a compilable SOP and its requirements?
Cheers
Edited by AlexLombardi - June 28, 2017 13:57:34
User Avatar
Member
1743 posts
Joined: March 2012
Offline
It's coming. The build setup isn't quite ready yet, and there's work on a fairly comprehensive example, in addition to a couple small examples.
Writing code for fun and profit since... 2005? Wow, I'm getting old.
https://www.youtube.com/channel/UC_HFmdvpe9U2G3OMNViKMEQ [www.youtube.com]
User Avatar
Member
30 posts
Joined: Oct. 2011
Offline
Thanks for the info Neil,
looking forward to it
User Avatar
Member
606 posts
Joined: July 2013
Offline
Will Verbs ever make it to VEX or is Python the only interface?
Houdini Indie
Karma/Redshift 3D
User Avatar
Member
1743 posts
Joined: March 2012
Offline
Daryl Dunlap
Will Verbs ever make it to VEX
I'm not sure I understand what you mean. VEX only ever reads from the input and writes to the output; it can't read from the output, and it doesn't have a concept of a separate detail, so given those constraints, I don't follow what you would like it to do with SOP verbs.
Writing code for fun and profit since... 2005? Wow, I'm getting old.
https://www.youtube.com/channel/UC_HFmdvpe9U2G3OMNViKMEQ [www.youtube.com]
User Avatar
Member
606 posts
Joined: July 2013
Offline
I was not aware of those VEX constraints, which are a pity.

VEX is much faster than wiring nodes. SESI VEX investment has paid off handsomely.

But, VEX can only ever create implicit tools because Wrangles are input bound.

What I'd want to do with VEX Verbs is create explicit tooling (in feature parity with Subnet HDA's).

Maybe that is a new VEX Verb node that is Compile safe?
Houdini Indie
Karma/Redshift 3D
User Avatar
Member
1743 posts
Joined: March 2012
Offline
It may seem counter-intuitive, but VEX runs quickly because it can only read from its input and write to its output. This allows it to run over many elements concurrently without having to synchronize at every step. It doesn't have anything even remotely similar to running nodes on geometry, because it isn't what it was designed for, so it wouldn't be particularly good at it. It's designed (in SOPs) to be fast and somewhat flexible at processing attribute data on lots of points/primitives/vertices in parallel.

Houdini's Python support is much more general-purpose, which is why it's better suited to using SOP verbs. I know that many people already wrote Python code to dynamically generate node networks to run geometry through them; SOP verbs allow them to avoid making real nodes and instead just do the equivalent operations. Of course, there is the caveat that always hamstrings Python, namely that it's doomed to be interpreted single-threaded, but it probably wouldn't be too difficult to provide Python support for queuing up and then running verbs on multiple details in parallel, which would get around that limitation.

Side note to avoid confusion of anyone else happening upon this thread: the Attribute Wrangle and Attribute VOP SOPs are compilable (“verbs”), so can appear in compiled SOP blocks. The discussion surrounds how to programmatically run verb SOP operations without creating nodes. The original question was a request for an example of how to make a verb SOP in the HDK.
Writing code for fun and profit since... 2005? Wow, I'm getting old.
https://www.youtube.com/channel/UC_HFmdvpe9U2G3OMNViKMEQ [www.youtube.com]
  • Quick Links