Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement different types of encoding for Voxel::Detail #9

Open
4 tasks
Kurble opened this issue Dec 1, 2019 · 0 comments
Open
4 tasks

Implement different types of encoding for Voxel::Detail #9

Kurble opened this issue Dec 1, 2019 · 0 comments
Labels
enhancement New feature or request

Comments

@Kurble
Copy link
Owner

Kurble commented Dec 1, 2019

Currently the Voxel::Detail variant only supports a plain array for storing sub-voxels, but this is not scalable if your voxels contain a lot of per-voxel data. The current array implementation is also not really cache coherent if you access a lot of neighbouring voxels.
A solution is to implement a system that allows for different types of encoding. An Encoding trait should allow iteration over the subvoxels of an encoded Voxel::Detail node. It would also be nice to stack different kinds of encoding, so that you could apply for example both run length encoding and a morton order.

Todo:

  • Define the Encoding trait.

We want at least three types of encoding:

@Kurble Kurble added the enhancement New feature or request label Dec 1, 2019
@Kurble Kurble changed the title Implement run length encoding for Voxel::Detail Implement run length encoding for Voxel::Detail Dec 1, 2019
@Kurble Kurble changed the title Implement run length encoding for Voxel::Detail Implement different types of encoding for Voxel::Detail Dec 1, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant