On Nov 11, 2011, at 11:02 AM, Stephen Parker wrote:

> Out of curiousity, to what extent is Field3D supported and is HDF5 simply a 
> dependency for Field3D or is it supported separately as well?

Currently, HDF5 is only a dependency for the sake of Field3D.  I'm not aware of 
any other image formats that use it, are you?

Field3D is partially supported -- you can open an ImageInput for it, find out 
about the file via its ImageSpec (it looks like a "3D" file with width, height, 
and depth>1), and read the 3D texels.  ImageCache will work, caching 3D 
volumetric tiles.  And TextureSystem::texture3d will do volumetric texture 
lookups, though currently they are just trilinear interpolations.

Not yet supported:
* Writing F3D files.
* There's no ImageBuf support for 3D images/volumes.
* texture3d lookups with better interpolation (tri-cubic seems obvious) or any 
kind of filtering (that'll be hard since F3D doesn't currently allow 
multi-resolution volumes like we use MIPmaps for 2D textures).
* a variety of corner cases of F3D files, even for reading, aren't properly 
supported quite yet.

I did the initial work on the OIIO side as we were getting started on some 
volume rendering here at SPI (I also added 3D texture lookups to OSL, which 
defaults to just calling OIIO's texture3D).  As it turns out, we have, at least 
for the time being, decided that Arnold's volume lookups needed to be a bit 
closer to the metal, so we go directly to F3D through other means, rather than 
with OIIO as an intermediary.  It goes through OSL, but we override the 
defaults so it uses certain SPI Arnold internals rather than OIIO.

IIRC, the issue was that for certain caching operations, and some weird 
transformation and motion blur reasons, it was hard to directly map what we 
needed to OIIO's interface, and rather than trying to figure out the "right" 
idioms, we just talked to f3d directly with full ugliness.  I'd hoped to patch 
it all up later, but once it was working "good enough", we haven't had a 
particular reason to go back to make it nicer on the OIIO side. (The Arnold 
volume rendering and its direct talk to f3d are Chris Kulla's brilliant work, 
BTW.)

I don't know if the status quo is permanent or not, but at the moment, it means 
that OIIO's f3d support is without a major customer so nobody is currently 
working on beefing it up.  It would be most welcome, of course, and I bet Chris 
and Magnus would be happy to answer questions about what they learned along the 
way.

--
Larry Gritz
[email protected]




_______________________________________________
Oiio-dev mailing list
[email protected]
http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org

Reply via email to