isooffset rendered as volume

   6594   9   1
User Avatar
Member
54 posts
Joined:
Offline
hi everyone.
this is the end of my first week on houdini , so be gentle with me.
anyway this is my question :

I'm using iso offset sop to create a SDF around some merged objects ,
using the minimum method and a small offset value.
what I would like to do is to render that as a volume (ie inside density =1 and outside density =0) and I didn't figure out how to do that.
I guess I have to create a .i3d file to render but how…
thanks for your advices.
luc
User Avatar
Member
54 posts
Joined:
Offline
well , nobody answered me , so I will try to reformulate more clearly the question.

in the isooffset SOP you have the option to save a .sdf file.

from isooffset doc:
“The name of the file to save the SDF representation to. If the extension is .simdata, it will be saved in a format readable by the File DOP. If it is saved in .sdf, it will be saved in the .sdf format.”

so my question is , is it possible to access the sdf data and do something with it.

I'd like to populate a .i3d file from it.

I found this statement in an other thread (from jason iversen)
“And if you know much about the SDK (HDK), you'll see support for extremely powerful and useful general purpose entities like SDF's (level sets) which hasn't yet been granted VEX access. ”

I went through the HDK docs and didn't find anything related to SDF.maybe I didn't look at the right place.

I'm interested in any pointers.
luc
User Avatar
Member
4262 posts
Joined: July 2005
Offline
lulu116
so my question is , is it possible to access the sdf data and do something with it.

AFAIK not currently. In its current state SDFs are only used internally inside of DOPs. Hopefully in a later version of Houdini they'll add some more support for SDFs so we can abuse them from other parts of the package.

lulu116
I went through the HDK docs and didn't find anything related to SDF.maybe I didn't look at the right place.

I'm interested in any pointers.

The HDK docs contain only cover a small subset of the HDK. The best way to find anything in the HDK is to use grep and look at the header files.

That said, you might be able to get started with $HT/include/GU/GU_SDF.h
if(coffees<2,round(float),float)
User Avatar
Member
54 posts
Joined:
Offline
thanks a lot wolfwood.
User Avatar
Member
7025 posts
Joined: July 2005
Offline
I think the only way right now to do this is to use the HDK. Probably writing a custom VEX function that looks up the SDF value would be the “easiest” but I sure don't know how to do it )

Cheers,

Peter B
User Avatar
Member
387 posts
Joined: July 2005
Offline
Hey lulu116,

If you'd like to see the i3d render setup, here's an example hip file (attached)

I've put down a 3D Texture Generator ROP, and set it to render “Raw Point Geometry”. It will write an i3d file to /tmp/b.i3d and then call a mantra renderer to render it. Note that you need two shops, and a fog object to get it all going. That's why I made a .hip file - there's a couple of things to do… To see the render, go to the OUTPUTS and hit “render” on the Render_ME ROP.

The image quality isn't that great, but hey maybe it's sufficient for your needs.. Else, increase the isooffset sop's “divisions” for a smoother surface.

Salut!
ben.

Attachments:
isoRenderedVolume1.hip.gz (18.4 KB)

''You're always doing this: reducing it to science. Why can't it be real?'' – Jackie Tyler
User Avatar
Member
54 posts
Joined:
Offline
hello ben ,
not exactly what I'm looking for (very blobby effect) but it could be interesting for other type of effects.

We are looking at the HDK atm.
thanks for the idea.

luc
User Avatar
Member
387 posts
Joined: July 2005
Offline
Yes, it's basically metaballs instanced at the isooffset points .. In this case, it's not really metaballs but points with a certain radius (set in the ROP). But that's arguably the same thing. If you increase the isooffset divisions you can reduce the blobbiness. The interesting thing is the size of the i3d doesn't greatly affect mantra render times. You can really pack a lot of meatballs in there!!

b.
''You're always doing this: reducing it to science. Why can't it be real?'' – Jackie Tyler
User Avatar
Member
4262 posts
Joined: July 2005
Offline
By pointing the i3d ROP at the IsoOffset SOP you are creating a i3d based off of points on a polygon. I believe what Luc wants to process is the actual SDF itself, aka the .simdata file.


SESI gave us new toys but no way to use them. :cry:
if(coffees<2,round(float),float)
User Avatar
Member
387 posts
Joined: July 2005
Offline
Oh, I know.. I just thought I'd construct the i3d option - as there's a few tricks in getting it all set up right (e. to find the right volume shader types, and to put the volume shader name on the atmosphere object param, and so on). He said it was his 1st week with Houdini, and when I read “I guess I have to create a .i3d file to render but how… ” … ah nevermind..

The unbreakable toy can be used to break all the other toys!

b.
''You're always doing this: reducing it to science. Why can't it be real?'' – Jackie Tyler
  • Quick Links