danw Posted July 1, 2011 Share Posted July 1, 2011 Hey all, not sure which subforum would be best to ask this... I'm trying to use the integrate3D vex node in a volumeVOP, and have gotten it to work by creating a 3D Texture Generator output, pointing to an Image3D Shader Builder, containing the same stuff as my SOP volume, rendered out with the same voxel count and bounds. Is there any way I can skip this rather convoluted stage, and just point integrate3D at my SOP volume directly? I've tried using the op: syntax, but it seems to refuse any input that isn't encoded as an i3d file. I know i3d is meant to be encoded in a way to make this calculation more efficient, but does it really have to be baked out to disk simply to read it back in again? Quote Link to comment Share on other sites More sharing options...
symek Posted July 1, 2011 Share Posted July 1, 2011 I know i3d is meant to be encoded in a way to make this calculation more efficient, but does it really have to be baked out to disk simply to read it back in again? Yes, it does, albeit i3d becomes currently obsolete as volumes in bgeo format gets more and more from i3d. They are already tiled, compressed, and the API seems to allow them to be mip-mapped as well (though I suspect Houdini doesn't mip-map them by default yet). If you want to integrate volumes, you'll need to code it by hand in vex. Last time I tried it wasn't much slower then integrate3d() (although in case of vectors, you have x3 work more). Besides all, converting volumes into i3d isn't so bad. You could setup some script for that purpose. I used to have one, which was rebuilding shader in i3d ROP to encompass all volume primitives found in SOP, setting up delayed load etc. I'm attaching it, for an inspiration (I used it in H10, and there are changes in in H11 that seems to break rops setup in some minor way, easy to fix). cheers, skk. Volume2i3d.shelf Quote Link to comment Share on other sites More sharing options...
JoshJ Posted January 30, 2014 Share Posted January 30, 2014 what does it mean to integrate a 3dtexture? I've been exploring and using i3d lately, but I don't know what the application of integration would be. Quote Link to comment Share on other sites More sharing options...
symek Posted January 30, 2014 Share Posted January 30, 2014 (edited) It means to sum up a values saved in a texture channel along the line from point a to b. As to application of an integration, this is more or less what Mantra is doing while rendering volumes. It integrates density to find a point volume becomes fully opaque (or ray leaves the volume). Similarly when you want to find a color of a semi transparent object (like liquids) saved as an i3d texture it's not enough to get a single voxel value at a surface. You need to integrate its color along an eye ray. This is what integration is useful for, I was personally using i3d for fake SSS effects and object-in-ice-like renderings. Damn fast. Edited January 30, 2014 by symek Quote Link to comment Share on other sites More sharing options...
JoshJ Posted January 30, 2014 Share Posted January 30, 2014 Thanks for the clear explanation , I understand now. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.