Guilherme Casagrandi
guilhermecasagrandi
About Me
EXPERTISE
Technical Director
INDUSTRY
Advertising / Motion Graphics | Education | Film/TV
Connect
LOCATION
São Paulo,
Brazil
WEBSITE
Houdini Skills
Availability
Not Specified
Recent Forum Posts
Apex Script:Component: How to use subnets Dec. 19, 2025, 4:23 a.m.
sanostol
Thank You for the detailed explanation.
I still wonder how to create nodes in a subnet. The example code creates nodes in a subnet.Result in the subnet:def test(a: vector3, b: float) -> tuple(vector3, float):
a = a * b
b = b + 1.0
return a, b
my_subnet = graph.addSubnet(test, 'my_test')Image Not Found
But how do I create a TransformObject for example or any apex node in a subnet?
Martin
you should save a bookmark for this page: Apex Nodes [www.sidefx.com]. It has all apex functions, and there are several to work with subnets.
You can either use addNodeToSubnet to add a node to an existing subnet, create the node and then add it to the subnet, by getting the contents array, appending the new node, then setting the new content with setSubnetContents; or you can add all nodes and then pack them as a subnet.
But all of these functions will make your code more difficult to write. In my experience, the best approach is to define the function with everything you'll need upfront.
Converting textures for ACES Dec. 19, 2025, 4:09 a.m.
pdg = tops. There's a node that uses the OIIO tool from the Academy. That's the fastest way, but you could either run a copnet to do the same thing.
Nevertheless, you will need to sort the files to set the incoming space for conversion. Here I'm using regex to scan the file names for hints. Things like "normal", "Normal", "N" are treated like raw. The same for "Displacement", "disp", "height" (I coded to use height = displacement). That's the idea.
Nevertheless, you will need to sort the files to set the incoming space for conversion. Here I'm using regex to scan the file names for hints. Things like "normal", "Normal", "N" are treated like raw. The same for "Displacement", "disp", "height" (I coded to use height = displacement). That's the idea.
Converting textures for ACES Dec. 18, 2025, 12:33 p.m.
I believe Houdini still looks for some hints in the filename, like "Raw", "ACEScg", so on and so forth. But take a further look at the docs for that, please.
Here I've developed a pipeline with pdg to always pre-convert everything to the aces colorspace. Normal and similar types of passes are converted to ACES, but numerically they stay the same, but they are in the ACES colorspace, that's why Houdini needs to know the incoming space to decide how to do the conversion.
Here I've developed a pipeline with pdg to always pre-convert everything to the aces colorspace. Normal and similar types of passes are converted to ACES, but numerically they stay the same, but they are in the ACES colorspace, that's why Houdini needs to know the incoming space to decide how to do the conversion.