Houdini Engine 7.0
|
Houdini Engine is an API that enables Houdini digital assets to be used directly inside of the host application. This allows artists to leverage the power of Houdini directly inside of whichever environment they are most comfortable working in.
From a technical point of view, Houdini Engine is a C API designed for binary compatibility. It is able to integrate into a host application even if compiler choice or versions don't match. For instance, Houdini Engine can integrate into both managed environments, such as C#, as well as a native C++ applications.
Finally, Houdini Engine is a flat and small API that is easy to learn.
Houdini Engine employs the C ABI (Application Binary Interface), essentially a set of C functions. This interface was chosen with binary compatibility in mind. It operates based on handles which are integer ids mapping to nodes and other objects it has created on the user's behalf. When the Engine is instantiated inside a host application, it creates a full session of Houdini, complete with a scene and node network.
Houdini Engine operates primarly on the nodes themselves, very similar to Houdini proper. To instantiate an asset you install the asset library (.otl/.hda) and then you create the node. When you create nodes you get back their node id which becomes your handle to the new node. With this id, you can query the node's child nodes, its parameters, connect it to other nodes, or delete it. You can see if this is an OBJ node, get the child OBJ nodes, get their display geometry (SOP) nodes, and finally fetch the geometry information.
The basic tasks for a programmer integrating Houdini Engine into a host application is thus the following: