Simulating water and smoke with an octree data structure | Synapse