FrankFirsching
Nov. 6, 2002 11:07:52
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
plan9
Nov. 8, 2002 00:24:55
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
FrankFirsching
Nov. 8, 2002 17:01:44
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
plan9
Nov. 11, 2002 13:06:50
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.
FrankFirsching
Nov. 11, 2002 15:20:22
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
countv
Nov. 12, 2002 02:15:53
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?
FrankFirsching
Nov. 12, 2002 04:32:05
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.
ben.toogood
Nov. 17, 2002 10:17:20
:?:
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?
STRiDOR
Jan. 15, 2003 10:22:19
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
AndrewVK
Jan. 15, 2003 11:08:33
#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);
}
crunch
Jan. 15, 2003 23:58:58
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.