/vx_bevy

🧊 Voxel engine prototype made with the bevy game engine. Serves as a playground for experimenting with voxels, terrain generation, and bevy.

Primary LanguageRustMIT LicenseMIT

vx_bevy

Note This respository won't receive further updates to newer bevy versions. Thus current code may require modifications to port to newer bevy versions.

A minecraft-esque voxel engine rendering prototype made using the Bevy game engine.

Chunk are rendered using a triangle mesh per chunk. Chunks are greedily meshed.

Meshing and generation tasks are using bevy's AsyncComputeTaskPool to dispatch tasks across frame to prevent frame stuttering.

Performance is okayish (~100fps on a 1060 + 8th gen intel on release mode) with default render distance (16 chunks) altough mesh stitching could allow this to go even higher up.

Also don't go under the world.

Screenshots

assets/screenshots/screenshot_5.png assets/screenshots/screenshot.png assets/screenshots/screenshot2.png assets/screenshots/screenshot_4.png

vx_bevy_gen.mp4

Acknowledgments

This uses the awesome block-mesh crate which handles greedy meshing.