voxelinc/voxellancer — pull request #230 by mrzzzrm (2014-01-05 13:51:25+00:00)
Title: [WIP] Manage VoxelParticles independant from other objects

I know we are still about to discuss this, consider this PR an argument for doing it this way.

* VoxelParticles reside in a VoxelParticleWorld, WorldObjects don't see them at all
* VoxelParticles are drawn using instancing, all in one run
* VoxelParticles checked for intersection with WorldObjects every 0.3s and removed if such occurs

This is still WIP. Missing:

* Effective Buffer management (spatial locality)
* Tree structure in VoxelParticleWorld for preselection based on camera-frustum
* More effective buffer-streaming. currently the mutable buffers are build from scratch each frame.

Beside these flaws, this works really nice here, giving me steady hundreds of FPS in realistically filled scenes.

Try it out please and report if its working!