Frequently Asked Questions

What’s the difference between a Python node and a C++ node?

From the user’s point of view there isn’t really a difference. They both behave the same way, have the same types of attributes, store their data in Fabric, and are backed by USD. The real difference is on the node writing side. C++ is generally more difficult to write as it has strong typing requirements and less flexible data structures. On the other hand it is much more performant. A C++ node will often be an order of magnitude faster than an equivalent Python node.

Once I choose Python or C++ for my node am I stuck with it?

No indeed! The architecture is set up so that the definition of the authoring graph, described in the .ogn file, is independent of its implementation. You can quickly prototype a node using Python so that you can try out your ideas, and then later if you want to speed it up you can rewrite the node implementation in C++ without touching the .ogn file and anyone that uses that node will invisibly benefit from the faster performance.