Open DigitalLibrarian opened 8 years ago
On idea is to use ray casting to find surfaces, and then follow them. But this has it's problems. For instance what about voxel "fields" rather than solid objects?
We will need to know, at each level of the tree, the count of active voxels. If none, then we can treat these entire branches as empty space. Likewise, if the count is maxed out, then the branch is completely full. That leaves the 0 < x < max case, which needs to be fast.
This is closely related to #18
We need an efficient way to visit surface chunks and invalidate them. This system will be used nearly every frame to track the camera as it moves around a surface and the occlusion equation changes.
Probably best to start using a "slow" sequence method where we throttle how often it happens and keep an IEnumerable<> around between frames. If that fails, then research \o/