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
- Improved dynamic direct sunlight3 days ago
- Dynamic direct sunlight4 days ago
- Previous folly and finally success11 days ago
- Rasterized triangles are evil!20 days ago
- Procedurally Generated Blocks (Video)23 days ago
- Fog is working again26 days ago
- Improved fragment/compute shading rates28 days ago
- Debugging variable compute shader rates33 days ago
- Deferred gbuffer rendering update34 days ago
- Deferred gbuffer rendering via compute shader ray marching output35 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!