Skip to content

Synphonyte/freestyle-sculpt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Freestyle Sculpt

Crates.io Docs MIT Build Status

This is a pure Rust implementation of Freestyle Sculpting, a real-time dynamic topology sculpting algorithm.

It is based on the paper Freestyle: Sculpting meshes with self-adaptive topology by Lucian Stanculescu, Raphaëlle Chaine, Marie-Paule Cani. This is the same algorithm that is used by the Dyntopo sculpting mode in Blender.

Freestyle Sculpt Demo

Please check out the bevy-basic-sculpt example to see how it can be used in an interactive application.

Limitations

At the moment it doesn't support topology genus changes, i.e. no splitting or merging of different parts of the mesh.

Optional Cargo features

  • rerun: Enables recording of the mesh graph and the different algorithms to Rerun for visualization.
  • bevy: Enables integration with the Bevy game engine.

Customize sculpting

To implement a custom deformation field, you can create a struct that implements the [DeformationField] trait. Have a look at the existing deformation fields in the [deformation] module for inspiration.

If you want to implement a custom selection strategy, you can create a struct that implements the [MeshSelector] trait. Have a look at the existing selection strategies in the [selectors] module for inspiration.

About

Dyntopo real-time 3D sculpting in Rust

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published

Contributors 2

  •  
  •  

Languages