Crate freestyle_sculpt

Crate freestyle_sculpt 

Source
Expand description

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.

Modules§

deformation
Deformation fields to do the vertex manipulation
ray
Ray casting onto mesh graphs
selectors
Selection strategies to decide which vertices to deform

Structs§

SculptParams
Defines all the necessary parameters for sculpting operations.