Christian Schnellhammer . Dev Blog

Superpose for AfterEffects

Superpose is now also available as After Effects plugin!

Written by schnelli

October 7th, 2015 at 8:17 pm

Posted in Uncategorized

Superpose – Automatic Clean Plates

Just released my object removal technology, called “Superpose”, as Nuke plugin. Superpose analyses a stabilized image sequence and removes moving objects, crowds, rain or snow.

Visit for more information

Written by schnelli

August 26th, 2015 at 11:40 am

Posted in 2d, nuke

houLDPK – 3DEqualizer Lens Distortion For Houdini

With houLDPK it is possible to load lens models from the popular 3DEqualizer camera tracking software and use it in houdini.

Update: The whole toolset is now available on


A camera lens shader, which allows to directly render a distorted image. This prevents oversized rendering which is needed for post distortion in comp.


A COP node to distort/undistort an image. For example a undistorted footage can be used as viewport background.

Written by schnelli

August 19th, 2014 at 11:22 am

Posted in houdini

Houdini Ocean Toolkit for Houdini

Just ported my multithreaded version of the Houdini Ocean Toolkit to Houdini 12.

Just check the “Threaded” parameter of the SOP deformer to switch to multithreaded calculation. Got speedup up to 100% on larger oceans.
Had no time for in-depth testing…so please let me know if you have any problems.

Here you can find the source an win64 binaries:
(This version works for Windows. Did not try if this version works for other platforms)

Win64 binaries:

Houdini 13 (VC9)

Houdini 12.5

Houdini 12.1

Houdini 12.0

Sources for Houdini 12:

Written by schnelli

March 6th, 2012 at 12:10 pm

Posted in 3d, downloads, houdini

Training Video For Houdini Flocking Systems on cmiVFX

cmiVFX just releases my flocking tutorial:

Check it out. I hope you’ll enjoy it!

This training focuses on a basic concept of flocking simulations: steering behaviors. The algorithms created by Craig Reynolds can be used to simulate the movements seen in flocks of birds or fish.

This step-by-step training video introduces how steering behaviors work and how one can create complex simulations just by combining simple behaviors. The viewer will learn the common behaviors like “separation” or “cohesion” and how they interact with the agent’s mind.

As a bonus this tutorial comes with a powerful library of a multi-agent system which you can use to create flocking and crowd simulations.

Written by schnelli

November 23rd, 2011 at 11:10 am

Posted in houdini

Houdini Closest Primitive VEX Function

This Houdini 11 plugin extends VEX with a function to retrieve the closest primitive to a given point.


prim = csClosestPrimitive(file, pos, maxDistance, &closestPoint, &closestPrimNormal, &primU, &primV);


prim the primitive number of closest primitive. -1 if no primitive found
file path to geometry in op:/ notation (e.g. op:/obj/box1 Currently no external File supported!!)
maxDistance the maximum search distance. -1 for no limitation
closestPoint contains the closest point on the primitive
closestPrimNormal contains the normal of the primitive
primU the primitive’s U coordinate of the closest point
primV the primitive’s V coordinate of the closest point

There is also a VOP node available:

Download source:


Thanks to Martin Matzeder for some great inputs.

Written by schnelli

August 23rd, 2011 at 11:23 am

Posted in downloads, houdini

Showreel 2011

We are a collaborative of independent media professionals working on asking questions and finding answers.

Coming from as many backgrounds as there are members to the group – ranging from graphic design to software development -we collaborate on projects deploying an interdisciplinary approach. While the majority of our work consists of visual effects projects for feature films and commercials we constantly try to widen our horizons and look for new challenges.

This showreel demonstrates a selection of our work.

Stefan Galleithner
Nils Engler
Martin Saechsinger
Christian Schnellhammer

Projects shown:

Feature Films:
2012, We are the Night, John Rabe, Krabat, Vicky the Viking, Dungeon Siege, Gaping Abyss A Christmoose Carol

Lamborghini Aventador, Skoda „Curriculum Vitae“, Piraeus Bank „Origami“, Continental „Stop the Ball“, T-Com „Rain of Flowers“, Aditya Birla Group „Let’s reach for the Sun“, Qatar Foundation, GNP „Click“, Illy „Beauty has a taste“

Written by schnelli

July 8th, 2011 at 5:35 pm

Paperworld for “Skoda – Curriculum Vitae”

Check out this spot we have worked on in collaboration with weareflink, Hamburg, Germany.

The Munich team consists of Martin Sächsinger, Nils Engler, Stefan Galleithner and me.
Check out the vimeo page to see full credits:

But how to create a Paperworld? One of the greatest challenge was to create animations where pages of paper should fold to different geometrical objects. So we developed some “PaperTools” in Softimage ICE, simplifying this task.

I want to show you some tools we made for this projekt:

The following video shows a tech demo of an ICE compound where you can bend/fold a paper on any arbitrary position:

The next video shows an extension of the paper bending compound. You can place a null and a compound for each folding. Connecting a single scalar value to each of the folding compounds let you animate the whole folding process with just one slider:

We developed a shape blender allowing us to blend between a set of geometry shapes via spline interpolation. It’s only necessary to create a group of geometry forming the key-deformation of the folding process. The compound is able to interpolate in-between shapes for a smooth animation. It uses a spline interpolation to get nearly “round” folding paths.
The video shows the interpolation between 13 geometry shapes:

Written by schnelli

June 15th, 2011 at 9:27 am

Posted in ICE, work, xsi

Houdini Bird Flock

This video shows a bird flock simulation created in Houdini. It uses Craig Reynold’s steering behaviors technique.
I created a VOP POP node in Houdini implementing the flocking behavior. The general movement of the bird crowd can be controlled by one ore more leading birds.

This sample has two bird crowds with mutual interaction.
I copied a simple bird geometry on the simulations points and rendered with Mantra.

Visit my other page for more information regarding steering behaviors:

Written by schnelli

June 13th, 2011 at 12:22 pm

Posted in houdini

Water Foam Generation Tests

Some years ago I implemented a watersurface toolset for Maya needed for a projekt I was working on. The toolsets consists of a tessendorf ocean deformer, a mentalray ocean displacement shader and and a IWave simulation solver for interactive water (See paper by Jerry Tessendorf on his website) . As base for the tessendorf ocean I used the HOT (Houdini Ocean Toolkit) by Drew Whitehouse. I just used this tool internally for projects. Now, at this time, there are also some public HOT ocean implementations for Maya available.

To create realistic water surfaces, I  turned great attention on the foam generation of the water surfaces. Since I did not found any good solutions in the web, I started my own implementation. The main part of this foam tool is  just a mentalray shader. The foam generation is based on the color per vertex attributes of Maya. No particles or fluid are needed. The foam is shaded with some different noise layers, combined and animated by the values of the CPV data. And I got a nice behaviour of the foam in the simulation.

I want to show you some tests I did with the foam shader. This videos only focuses the foam generation and simulation.

The first video shows a simple test of the ocean deformer combined with the Iwave solver and a interactive foam generation.

The second video shows the skills of my foam generation tool in combination with the tessendorf ocean.

By the way, my multithreading implementation of the Houdini Ocean Toolkit was born at the time I created this toolset for Maya in 2008. Later, I also created a Softimage ICE version of this toolset. For more details take a look at my other blog posts.

Written by schnelli

October 23rd, 2010 at 11:11 am