Another idea: if most particles are usually dead you could skip the vertexshader calculations for dead voxel and just set a dummy vertex that gets discarded in the geometry shader.