Jump to content

Massive Particle


Recommended Posts

Hello guys,

I want to make an tiny PRMAN DSO to interpolate an massive particle shape from an coarse one, and I thought several way to do this,

  • Lookup neighbors from a seed particle, according the distance between sphere centric and the neighbors, then fill the space. Like this "Simulation of High-Resolution Granular Media". I prefer this, but how to control the high-resolution particle shape is very difficult.
  • The particles were cached on each frame. We can use particle ID to track the movement of single particle, then we sample the track line as a spline, generate more particle at current frame. Maybe can't keep continuity.
  • From seed particles, subdivide the origin one into multi-particles. Not good, I think. Inspired from here "Interpolatory Refinement for Real-Time Processing of Point-Based Geometry".
  • Assumed the particles is an PDF which could be represent as an implicit function in an grid. Then we sampler this grid to make more and more samplers around the seed particle. Inspried from dozens of Monte Carlo papers.

According an old post about how to make Voxel-Bitch, the author said use spline to do interpolation, but how did this could be implemented, I never know about that. The interpolation method should be fast, parrallel.

Here is my implementation from the 1st method, not good, I think.

DPR_1_O.png

DPR_1_D.png

So can you help me ?

Thanks very much.

Edited by Blackstone
Link to comment
Share on other sites

  • 3 weeks later...

That sounds quite interesting! Can you explain to me please why a screen-oriented grid instead of a world-oriented grid is used? Because if it's screen-oriented, procedural particle creation will depend on camera transformation which might cause weird artifacts or not?

Link to comment
Share on other sites

This is all mightily interesting!

How well do these methods maintain the coherence between frames?

E.g. it sounds "filling a screen oriented grid" would not easily be coherent from frame to frame? Maybe I just haven't thought it thru well enough :)

I've done some stuff along these lines (check here or here), but I never really checked what had been done before - thanks for great googling pointers..

eetu.

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