Update: Hilbert Curve surface grooved stone block
Vorxel » Devlog
Non-grooved at left and grooved at right. Edges are now left untouched by Hilbert Curve.
Vorxel
Status | In development |
Author | Teknologicus |
Genre | Adventure |
Tags | Exploration, Open World, Voxel |
More posts
- Fixed bug with dynamic direct sunlight and level of detail61 days ago
- Voxel Cone Tracing Experiment62 days ago
- Dynamic direct sunlight working with level of detail64 days ago
- Improved dynamic direct sunlight70 days ago
- Dynamic direct sunlight70 days ago
- Previous folly and finally success77 days ago
- Rasterized triangles are evil!86 days ago
- Procedurally Generated Blocks (Video)89 days ago
- Fog is working again92 days ago
- Improved fragment/compute shading rates94 days ago
Comments
Log in with itch.io to leave a comment.
These procedurally generated blocks support Hilbert Curve grooves which are scaled. In the above screen shot I'm using a scale of three, which means there are two voxels between each voxel groove. To calculate the the ideal "order" for the Hilbert Curve function based on the bounds of the block (or world selection bounds) I use the following math/code:
int order = log2i(clampMin(pow2Ceil(divCeil(max(bounds.width(), bounds.height(), bounds.depth()), scale)), 2))
FYI, all of these nested function calls are of functions in my C++ (template) math library.
And the inverse Hilbert Curve function I wrote is based on code from here:
https://people.math.sc.edu/burkardt/cpp_src/hilbert_curve/hilbert_curve.html
Thanks for the math! it looks super cool!
Thank you!