Jump to content
Szymon

Volumetrics And Point Cloud Technique

Recommended Posts

Hi guys,

I asked about it in this topic but desided to open a new one:

http://odforce.net/forum/index.php?showtopic=846&st=12

Does anyone can share his experience with creating volumentrics (like clouds, smokes, etc.) using Point Cloud? I know everyone around is talking about it how great and fast is it, etc. but nobody can give specific examples. I'm looking for example done in VOP's... not VEX code but node based example.

I know I can find this:

http://www.sidefx.com/exchange/info.php?fi...8&versionid=208

but volumentrics are done with rewritten i3d.

I know it's a new technique. Can anyone share or create scene how to do that?

Thanks.

Szymon.

Share this post


Link to post
Share on other sites

Maybe you should better learn to write code .

I think that kind of stuff is much easier to do in code.

Sven

Share this post


Link to post
Share on other sites

But there must be some way to do it in VOP's, right?

Anyone?

Share this post


Link to post
Share on other sites
But there must be some way to do it in VOP's, right?

Anyone?

20255[/snapback]

Yes. All the Point Cloud functions should be available in VOP in most context.

Share this post


Link to post
Share on other sites

Since nobody is willing to post any example, maybe we should do a challenge? Create volumentric cloud using point cloud technique. Has to be done in VOP's :)

I have no idea about it, that's why I'm asking you guys.

Share this post


Link to post
Share on other sites

Is it some kind of in-house secrets you guys have that nobody can say anything about it? Is it really so complicated?

Share this post


Link to post
Share on other sites
Is it some kind of in-house secrets you guys have that nobody can say anything about it? Is it really so complicated?

20869[/snapback]

I know that no-one at DD has tried any point-cloud accelerated volumetric rendering. It must be possible but I know I've never tried it. I must be too busy doing other things :)

Share this post


Link to post
Share on other sites

I've made a couple of implementations of point clouds and fog.

The first was just a matter of raymarching and seeing what points were close to the

sample point. Each point in the point cloud a had a radius, density, and rest position.

I used the rest position as an input to my noise function.

This by no means made rendering the fog faster. The only place I could see

this being really advantageous is in a scenario where you'd need a really high rez

i3d to do the same thing.

I saw a sketch at siggraph that reminded me of this. For the fire in episode III they

used an rman dso to only load relevant particles at render time.

The second implementation used point clouds as a means of calculating the lighting.

Because the lighting calculations take so long I though It would be cool if I only

calculated the lighting on the point cloud using pcunshaded. This way my sample

point would only have to filter between points in the point cloud.

I'd still use an i3d for the density.

My initial tests were promising(it would render fast), but because of a number of

logical errors on my part there were artifacts.

I went over the code in my point cloud presentation, I've uploaded the files to

the exchange.

http://www.sidefx.com/index.php?option=com...pper&Itemid=146

Unfortunately, I never had the time to revisit this.

Anyway, from what I understand deep shadow maps speed up fog rendering

considerably. That's probably the way to go.

PS - tried writing some of this stuff in vops, and it was way harder than writing

it in vex.

all the best

Luca

Share this post


Link to post
Share on other sites

Thanks a lot Luca. That sounds interesting. Finally someone spoke :)

I remember SESI was showing us point cloud technique very quick six months ago saying it's something new and way faster than i3d - some torus turned into volumentrics. Quite interesting, but I couldn't get any more informations about it after that.

Right now for me it looks like technique to render i3d faster, nothing more. Am I right?

By the way: why it was easier just write a code? Was it really so complicated to do in VOP's?

Share this post


Link to post
Share on other sites

....and if you will..... don't forget to post a final scene :rolleyes::D

Share this post


Link to post
Share on other sites

Here quick and dirty test of "metamarch" approach.

hmmmm...it works...all the rest is question of

good noise pattern, believable shading model

and optimisation....not a simple question of course :)

meta.zip

Share this post


Link to post
Share on other sites

I wrote a ray marcher using Metamarch() for Elektra. If you happen to have seen this wonderful film, when the Ninja dissolves into green smoke towards the beginning, that was where I used it.

It worked pretty well, the big advantage was I could do very fast iterations of the look by lowering the shading rate and using a camera crop region.

However, 1k renders were getting upwards to 8 hours per frame on fast Opteron systems, so raymarching is never a quick technique.

There were also serious problems with bounding box artifacts if the noise was cranked up too high, though Mark E gave me some ideas how to get around that that I have not had time to implement.

The biggest speed issue was the lighting, using point clouds would theoretically address this problem, but again I have not had time to work on this.

Someday I may get back to it :) However, I'll have to re-write the parts I wrote at R+H before I can release it.

Cheers,

Peter B

Share this post


Link to post
Share on other sites

Thanks for the info, Peter..

The biggest speed issue was the lighting, using point clouds would theoretically address this problem, but again I have not had time to work on this.

I have noticed that there is a sample HDK file under the "standalone" toolkit samples directory that allows DeepShadow generation from i3d files. It'd be interesting to find out how we can leverage Houdini DSMs for accelerating lighting. Our voxel renderer uses its own deepshadow format internally for lighting, naturally. Have you tried generating deep shadows from marched metaballs?

Cheers,

Jason

Share this post


Link to post
Share on other sites

I spoke to Mark Elendt during the Users Group meeting & he said DSM can be used with i3d rendering so one can render without turning on "Self-shadowing" in the shader.

Cheers!

steven

Share this post


Link to post
Share on other sites

DSM = Deep Shadow Map.

..which are Shadow Maps that store various levels of opacity per pixel. Very useful for a large number of things - but used mostly to generate partially transparent shadows from translucent and/or motion-blurring objects.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×