Skip to content

Through this configuration, no per voxel data is transferred between the GPU and the CPU at runtime.

Notifications You must be signed in to change notification settings

jknightdoeswork/gpu-physics-unity

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A GPU Accelerated Voxel Physics Solver for Unity

Read more at

http://www.00jknight.com/blog/gpu-accelerated-voxel-physics-solver

gif

64,000 cubes

gif

1024 cubes

A Unity Command Buffer is used by GPUPhysics.cs to dispatch the compute and render shaders.

This has been designed such that no per voxel data is transferred between the GPU and the CPU at runtime.

Speed will likely by further through research and optimization of the per particle Kernels within the Compute Shader.

LICENSE

You can use this software in a commercial game, but you cannot sell this software on the Unity Asset Store or any other platform that sells software tools for developers.

Further Improvements

Build the Voxel Grid around the bounds of the simulation dynamically

  • auto apply the "renderer bounds" and the "gridDimensions"
  • does "renderer bounds" even do anything? - looks like not

Eliminate the Voxel Grid Clear Step

Establish the pattern for collision with solid objects

Find out why the Damping force and Tangential forces described in Takahiro Harada's system do not seem to have good effects

Determine if a better shadow pass can be constructed to speed up shadows

Find out how to reliably render through CommandBuffer.DrawMeshInstancedIndirect (Unity bugs?)

Optimize the thread grouping

About

Through this configuration, no per voxel data is transferred between the GPU and the CPU at runtime.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published