Alert icon
We're changing our privacy policy. This stuff matters.  Learn more  Dismiss

3D Real-Time GPU Smoke Simulation with Haptic Rendering

Loading...

Sign in or sign up now!
15,357
Loading...
Alert icon
Sign in or sign up now!
Alert icon

Uploaded by on May 4, 2008

Physically-Based Real-Time GPU 3D Smoke Simulation with Haptic Rendering.

1. Based on Navier-Stoke equation for fluid simulation.
2. Numerical methods implemented on GPU
3. Treat smoke grid as 3D texture
4. Rasterize the 3D texture through Vertex Shader and Geometry Shader
5. Geometry shader allows quick access to neighboring cells for advection, pressure update, vorticity confinement etc.
6. Handle smoke density / velocity advection, vorticity confinement and pressure computation through Pixel Shader
7. Obstacle -- smoke interaction via voxelization
8. Integrate velocity / pressure /density along obstacle surface to compute force feedback
9. Map haptic device position to obstacle position to allow direct control of obstacle movement
10. Memory readback from GPU to CPU then pass to Falcon
11. Force filter to smooth out force output

Implemented in directx 10 /hlsl, Novint Falcon SDK

Category:

Film & Animation

Tags:

License:

Standard YouTube License

Link to this comment:

Share to:
see all

All Comments (27)

Sign In or Sign Up now to post a comment!
  • It's very impressive that this can be done in real-time with an old 8800 card. Must be really well optimized, I sense great programming skills!

  • @sjh7132 Well, it depends on what you do, you can do lots more than just graphics on modern GPGPUs, many are used for simultaneous solving of linear systems, simulations, etc, etc. So it entirely depends on your use-case. GPUs traditionally only have good single-precision performance because for the typical applications of 3D rendering & co in games and simple simulations, it doesn't matter a whole lot, and errors do not normally accumulate.

  • @whoppix

    I don't think it's that simple. When working with meshes you end up adding the affects of many little influences to get the total result. Maybe some of what you say can be applied, but I don' think it's a replacement for 64 bit.

  • @sjh7132 Rather than just increasing the precision of your floating point operations, you can often use an algorithm more numerically stable or a different algebraic formulation of the formula (for instance you would try to avoid things like substraction of two similar numbers or addition of a positive and a negative number), by installing alternative code-paths. Most GPUs nowadays only really have good SP (single precision, 32 bits) performance, but you can use mixed precision, if you need to.

  • @Grimmcorpse

    That is an impressive amount of processing power, but the math has to be done with enough bits so that round off error doesn't add up. If there is 128 bit math, then that's great. I don't think 32 bit math is good enough for engineering.

  • @sjh7132 Shouldn't the amount of flops determine if it's suited for the task or not? I mean.. the newest firestream can handle 1-1.2 teraflops, should be enough.. :p

  • @sjg7123 ati radeon hd 4550 sapphire

  • @mtracer100

    Really!?!? Which model is that?

  • @sjh7132 My GPU actually has 128 bit math. I was actually very surprised myself.

  • i remeber when i used to be so obsessed with smoke in videogames, it almost seems like nobody try anymore though :(

Loading...
0 / 00Unsaved Playlist Return to active list
    1. Your queue is empty. Add videos to your queue using this button:
      or sign in to load a different list.
    Loading...Loading...Saving...
    • Clear all videos from this list
    • Learn more