Building SBS generators and other filters in Copernicus
Last updated on: 12 August, 2025
What is Copernicus?
Houdini had COPs (Composite OPerators) for some time now. I wasn’t using the program when they were first introduced, but judging from the changelog, it happened in the sixth major version, back in 2002. Since then and according to my short research, they slowly evolved in to COP2 operators, which brought significant improvements over original COPs. COPs were completely replaced by COP2 operators.
Then in Houdini 20.5 SideFX introduced beta version of Copernicus nodes, which became the new COPs, and which began deprecation of COP2s. Confused with nomenclature? I was too. Anyway, Copernicus operators are 2D and 3D GPU (via OpenCL) image processing framework1, which not only allows for building procedural textures in a way similar to Substance Designer, which of course Copernicus perfect for designing procedural textures, but it also offers compositing features, including slap composition (approximation and live results of a final composite2).
But most importantly, they fully work with other Houdini contexts, and this is what makes them enormously powerful. It is one of the two reasons it is of most importance for me to learn this framework and at the same time try to touch OpenCL at least on the surface. Of course the other reason is how Adobe has treated Indie artists who use GNU/Linux after their acquisition of Allegorithmic.
For now, I find it difficult to replace Substance Painter, as the beta version of Copernicus doesn’t provide comparable tools for interactive painting, but Houdini 21 is right around the corner, and I’ve seen some features listed on the sneak peek that are promising, so I guess we’ll see about that. On the other hand, Substance Designer can already be largely replaced, especially if we pair the default Copernicus operators with an excellent package named COPstance, created by Quantico. This combination helps in reproduction of many substances from video tutorials created for Substance Designer.
What is still missing?
What current beta version of COPs lacks, is grunge textures and other similar generators. While grunge patterns were announced in the recent sneak peek to come with one of the later Houdini 21 production builds, there’s no guarantee that they will cover grunges used by Substance Designer, so meanwhile I decided to make some of my own.
Once I’m done creating at least two dozens of them, I intend to create a package and release it to the public. Until then, here’s my own sneak peek.
Generators, Grunges And Filters
All generators and grunges feature randomization. Always a global one and, depending on asset’s complexity — other seeds for tweaking other random aspects. Additionally, they include many parameters for fine-tuning the output. Due to limited available time, I’m unable to show more of the possible output variations of each generator (via TOPs, for example), so I’m limiting them to up to ten frames of tweaking the most important parameters.
BnW Spots
Bnw_spots generator.
Concrete Cracks
Concrete cracks generator.
This one is interesting as it utilizes RBD Material Fracture SOP. It’s a little bit on the slow side, but does it’s job quite well.
Directional Noise
Directional noise generator.
Glass Cracks
Glass cracks generator. It can also be used as a basic spiderweb generator.
Similarly to concrete cracks, it uses RBD Material Fracture SOP. With proper settings, it can be utilized to emulate basic cobwebs.
Grunge SD_005
Grunge_sd_005 generator.
Grunge SD_011
Grunge_sd_011 generator.
Lens Dirt Filter
Lens dirt filter.
Simple dirt filter which requires an external dirt map. Works pretty well to imitate greasy or scratched lens surface.
Normal Blend
Normal Blend utility node.
This my OpenCL implementation of all normal map blending algorithms described in Blending in Detail publication by Colin Barré-Brisebois and Stephen Hill, that is:
- linear,
- overlay,
- partial derivative,
- partial derivative with blending,
- whiteout,
- UDN (Unreal),
- reoriented normal mapping,
- Unity.
While Copernicus ships with Combine Normals COP, it only handles whiteout, UDN and reoriented normal mapping and I wanted to have all methods available to me and to implement the three by myself.
Scratches
Scratches generator.
It is not shown on the video, but scratches can also be scaled up or down.
Wood Knot
Wood knot generator, not limited to knots.
I usually use it in conjunction with some form of distortion after passing it through Tile Pattern COP.