Jump to content

integrate3d volume without saving i3d file?


danw

Recommended Posts

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?

Link to comment
Share on other sites

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

Link to comment
Share on other sites

  • 2 years later...

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 by symek
Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...