Houdini stores 3 dimensional texture files in .i3d files. The 3 dimensional texture is like a cube that has been divided up into pixels, where each volume represents a percentage of the volume in 3 dimensional space.
I3D files contain arbitrary channels for each pixel.
Assign the new shader to the SHOP parameter in the parameter editor of the output driver.
Render the .i3d file.
The file should be generated on disk in the directory where you started Houdini and will be called “cloud.i3d”. To visualize the I3D file as an isosurface, you can load it in using the Isosurface node.
Once you have generated an i3d file, you can render it using the Mantra: Image3D Volume Procedural.
Creating an I3D file
The following are ways of creating I3D files:
The i3dgen program.
A stand alone tool which runs VEX to create a .i3d file.
The 3D Texture Generator output driver.
An interface into i3dgen from within Houdini. This facilitates using VOPs to generate I3D files.
The geo2i3d output driver.
Uses a VOP network to convert a volume primitive into an I3D file.
Where I3D files are used
Mantra supports direct rendering of I3D files as volumes.
There are some old-style Image3D shaders available.
In VOPs, 3d textures can be accessed using the texture3d vex function. It allows 3d textures to be used in compositing, SOPs, particle simulations, as well as other places where VEX is used.
Tips and tricks
Compositing I3D files can be done easily in VOPs. For example, you can add two textures together by using the texture3d VOP to read the values and sum the results. The composited result can be used to generate a new I3D file in an image3d SHOP. It can also be used to adjust the velocity of a particle in a POP.
The environment variable HOUDINI_RAT_USAGE is used to determine how much memory is used when accessing I3D files.