Jump to content

rendering SDF as an implicit surface - procedural


aracid

Recommended Posts

Hi all

Has anyone attempted to render an SDF directly, or knows of a method to do so, that produces fairly good results ?

When I try render it, my results flicker, even though I do blur the SDF.

post-585-1212267610_thumb.jpg

This is an attempt render of the volume/SDF using the volume sampler,

I was wondering if generally studios convert the SDF to a polygon, ie isosurface sop or do they write a procedural that handles this issue?

thanks in advance

brian

Link to comment
Share on other sites

Back on The Day After Tomorrow I attempted rendering levelsets (from our fluid-sim software) directly in Mantra by converting the SDF to .i3d format and using the intersect3d() VEX function and shading the surface based on the gradient. This was done in a Fog shader.

And it worked.

And I was immediately struck with a host of additional problems:

1) Motion-blur. I could not figure out a way to do that (effectively). However, as Volumes in Mantra now with the velocity (vel) field you could probably do it.

2) Texture coordinates. Couldn't figure out a nice way at the time to procedurally generate texture coordinate. Having the surface as geometry really helps for this. But now you do have point-clouds and stuff to help, potentially.

3) Displacement. At the time I couldn't displace either (on top of the texture coordinate problem). Now you can displace volumes, so it might be a lot better/easier.

4) Visualization. It was really hard to fumble about in the dark, trying to figure out whats going on with only renders to provide feedback. This will still be an issue, I assume.

I haven't tried since:)

Link to comment
Share on other sites

Hey Jason

Thanks for getting back to me, so did that mean u overcame those problems and used that method?

or did u eventually convert it to geom ?

Just curious if I'm being silly trying because the above image is rendered as a surface shader, it pops a little here and there.

One thing that became apparent really quickly was the difference in speed, rending the isosurface with $V as the variable and a fair resolution vs the volume with a surface shader with a condition rendering the 0, the geo was a lot faster, however I dont know how well this scales.

When i write the geo out to disk, the files are really large, however the SDF isn't nearly as big.

any ways, ill just continue tapping this problem, thanks again for the info.

:)

Link to comment
Share on other sites

We opted for geometry, yes. It allowed us to lop off offending parts of the sim, filter it, texture it, and add detail back with displacement shading. (Much more detail than we lost by approximating the level set with geometry)

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...