/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

Voxel engine prototype using rust and bevy. (Also check out my raytraced voxel engine)

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/vx_bevy_0.jpg assets/screenshots/vx_bevy_1.jpg assets/screenshots/vx_bevy_2.jpg

Acknowledgments

This was ported to bevy 0.10.0 thanks to the efforts of @naomijub with help from @hans-pistor.

Ported to bevy 0.11.3 thanks to @juliohq.

Ported to bevy 0.12.0 thanks to @rparrett.

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