Tuesday, March 10, 2015

Realtime CSG in Unity3D (video)

Just showing the progress on getting realtime CSG to work in Unity3D.

In the video you can see a worst case scenario for the CSG algorithm. The performance of the CSG algorithm is determined by how many brushes intersect with a brush, In this case 128 brushes intersect with a single brush.

Try doing this scenario in UE4! You will give up long before you actually get to 128 brushes. I'm not saying this to bash UE4, but it's the fastest realtime CSG out there in the wild.

There's still a lot of work to be done, not the very least I need to implement a way to easily build and edit the brushes themselves. I also still have lots of ideas to improve performance even further and some ideas on how to bound floating point errors no matter how many times edges get split.