Documentation of the image3d-format

   9857   10   3
User Avatar
Member
46 posts
Joined: July 2005
Offline
Hello!

During a project at university I have written a program, that simulates the flow of smoke. Now I would like to render these volumetric datasets in Houdini using i3d-textures. Looking through the PDFs I haven't found any format-description of i3d. Has anybody experiences in writing out own i3d-files?

Bye
Frank
User Avatar
Member
4 posts
Joined: July 2005
Offline
greets,

some information on i3d can be found in your installed directory

hfs/houdini/vex/html/context.html (3D image context)

you can also look at the code within i3d vfl files for working examples. these can be found in:

hfs/houdini/vex/image3d


good luck,

Mike C.

edit - also check out www.odforce.net/tutorials …there you can find some nice tutorials on i3d
bling bling!
User Avatar
Member
46 posts
Joined: July 2005
Offline
No, I don't want to write an image3d-shader using vex. What I have done is writing a stand-alone application, which solves a CFD problem using the Navier-Stokes equations. Now I'm having some volumetric datasets in my own file-format. To render them out using Houdini I need to convert them to the i3d-format. I looked at the files produced by the image3d-output and already noticed, that the files are tile-based. But there are some things, I don't understand what they mean.

Frank
User Avatar
Member
4 posts
Joined: July 2005
Offline
hi Frank,

At the moment, the documentation listed is whats available. Perhaps you can tell us what it is you do not understand.

cheers,
Mike C.
bling bling!
User Avatar
Member
46 posts
Joined: July 2005
Offline
Hello!

I have written out some constant volumes using a vex shader and looked at the files they produced. I already understood, that the i3d-format is tile-based. But there are passages in the files, where one finds hundreds of zeros, which I think serve the only purpose to align the data to a specific memory-boundary. At the end of the file and also at some positions in the header, there are some numbers, which I don't know what they stand for. I already managed it to convert one of my own datasets into the i3d-format, but this isn't a general-purpose-converter. I hardcoded some numbers I found in the VEX-generated files. So it is tied to a special resolution like 64x64x64 voxels.

I think, the best would be, if SideFX would provide a pdf, which documents the file-format like they do it with the .geo-format.

It would also be interresting, if the file-format supports colors and not only density-values. Currently I use 4 different files for colored smoke, one for red, green, blue and alpha. If I could pack these informations into one i3d-file, it would also be better.

thanks
Frank
User Avatar
Member
8 posts
Joined: July 2005
Offline
FrankFirsching
What I have done is writing a stand-alone application, which solves a CFD problem using the Navier-Stokes equations.

Out of curiosity, what are CFD's? and Navier-Stokes?
-CV
User Avatar
Member
46 posts
Joined: July 2005
Offline
countv
Out of curiosity, what are CFD's? and Navier-Stokes?

CFD stands for Computational Fluid Dynamics and Navier-Stokes is the name of the mathematical formulas, that describe sich a flow. They are used to simulate the movement of water or gases.
User Avatar
Member
16 posts
Joined: July 2005
Offline
:?:
I am curious to know whether you have been able to find more information on writing i3d files? I am currently researching systems for presenting video as volume, and writing directly to the i3d format may be prefect. Do you have any hints for sources of good reference?
User Avatar
Member
1 posts
Joined: July 2005
Offline
I too would love to see some information on the file format. It would be very useful.

On another note, does anyone know if it is possible to write to arbitrary channels other than density in image3d shaders? It would seem likely since isosurface sop allows you to define the name of the channel to read from in an i3d file, but I can't figure out how to define additional vars to be written out with density. Any thoughts?

Thanks
STRiDOR
User Avatar
Member
136 posts
Joined: July 2005
Offline
#pragma hint Cd hidden
#pragma hint Alpha hidden

image3d
MyMetaParticle
( vector freq=3; // Noise frequency
….
….
….
export vector Cd = 1;
export float Alpha = 1;
)

{
…..
…..
…..
forpoints( P )
{
…..
…..
…..
…..
…..
}
if (isbound(“Cd”)) Cd = mattrib(“Cd”, P);
if (isbound(“Alpha”)) Alpha = mattrib(“Alpha”, P);
}
User Avatar
Member
5 posts
Joined: July 2005
Offline
STRiDOR
I too would love to see some information on the file format. It would be very useful.

Thanks
STRiDOR

You might want to look at the i3dconvert application.
Crunch Crunch
  • Quick Links