bfops / playform

Voxel sandbox project in Rust
http://playformdev.blogspot.ca/
MIT License
212 stars 24 forks source link

Stop chunking together voxels. #170

Open bfops opened 8 years ago

bfops commented 8 years ago

They can still be requested/delivered in blocks if there are performance motivations, but less of the code should care about the concept of terrain blocks/chunks, and care only about voxels. Mesh extraction works on arbitrary edges now, so it can be done at the voxel level.

bfops commented 8 years ago

I'm working on this on the chunkless branch.

bfops commented 8 years ago

Load/unload state is tracked per-edge instead of per-chunk. Loading is noticeably slower. The client SurroundingsLoader is still working on chunks, which might be part of the reason.

bfops commented 8 years ago

Load speed improved.

bfops commented 8 years ago

The mesh seams are bigger in this branch

bfops commented 8 years ago

Two blocking issues:

bfops commented 8 years ago

Edge loading seems fixed.. load speed is still bad.

bfops commented 8 years ago

Edge unloading still broken

bfops commented 8 years ago

I think the problem has to do with when edges from a higher LOD don't have corresponding edges in a lower LOD (ones going through the middle of a lower-LOD voxel). The code that used to downgrade chunk LODs should be responsible for this now.

bfops commented 8 years ago

The chunk unloading logic is also broken.

bfops commented 8 years ago

I think edge reloading is fixed (there was a bug in rust-isosurface-extraction), but chunk/edge unloading logic is still shaky. Also framerate and load speed are bad.

bfops commented 8 years ago

Brushes are broken too