Parker Britt

Houdini Attribute Connectivity

Houdini library for the Attribute Connectivity SOP.

Introduction

Attribute Connectivity is a Houdini surface operator for indexing attributes by connectivity. It works by assigning unique sequential IDs to each “connected” island of the mesh. It achieves this by separating foreground and background components based on the threshold parameter, then assigning a unique index to each discontinuous island.

In short the Attribute Connectivity sop provides connected component labeling for Houdini attributes using flood fill analysis.

This node was written in C++ using the HDK.

Motivation

Occassionally when performing FX tasks you need a way to segment geometry based on an attribute. This is the problem my friend Harry encountered many times, giving me the initial idea. The problem is difficult to solve in a heavily parallel environment like VEX and when iterating over points it’s just too slow. That is why C++ seemed a perfect solution. C++ is capable of low level speeds while retaining access to threading tools and more complex algorithms. It’s important to note that while C++ offers advantages over VEX for this problem, most solutions are ultimately possible to do in VEX.