What do I want? I want to have a delayed load instancer, that uses an external point cloud. So I would save all my points to disk and at rendertime each point would load the delayed load associated with it. What should be stored in the ifd? A single VRAYprocedural that at rendertime will access the pointcloud and load the various pieces of geometry from disk — and being a delayed load… throws the pieces of geometry out of memory again when they are no longer needed.

So after finding the need to render huge amounts of geometry and wanting to have control over it I decided to start learning the Houdini Development Kit (HDK). The next series of posts will cover the process of writing my own instancer and showing some of the results I got out with it. I am planning to release the source code and otls. I have just updated it for Houdini 11.0.

For those of you who had a look at some of the existing VRAYprocedurals, my instancer is a mixture between the VRAYdemofile and the VRAYdemostamp, but then with a lot more control attributes so it matches the behaviour of the copy sop.

As a taster, here are some images semi-related to the subject of instancing and hdk rendering:

A single fish geometry object

A couple of fishes.

A school of fish