procedural_modelling 0.1.0

A framework-agnostic Procedural Modelling crate.
Documentation

Procedural Modelling

Build Status GitHub Repo stars Lines of Code

A framework-agnostic Procedural Modelling crate.

Uses Render Dynamic Meshes. Our goal is to implement operations like Boolean Operations, Subdivisions, Curved Surfaces, and Stitching. The library aims to support both 2D and 3D pathes and shapes.

WARNING

This crate is still in a very early stage of development. Expect frequent API modifications, bugs, and missing features. Feel free to contribute by opening issues, pull requests or sharing your ideas in Github Discussion.

Examples

Or run the examples on your computer like, e.g., cargo run --features="bevy" --example 2d.

For package development, we recommend using the editor-subcrate. This example has a little egui-editor. Run it using cargo watch -w editor/src -w src -x "run -p editor --profile fast-dev". The fast-dev profile will enable optimizations for the dependencies, but not for the package itself. This will slow down the first build significantly, but incremental builds are slightly faster and bevy's performance (bevy is used as the renderer in the examples) improves a lot.

Usage

Install using cargo add procedural_modelling.

// TODO

Features

The following features are available:

  • meshopt -- Use Meshopt to optimize the performance of generated meshes.
  • bevy -- Compiles with support for bevy. Necessary for the examples and the editor.

License

Except where noted (below and/or in individual files), all code in these repositories is dual-licensed, allowing you the flexibility to choose between:

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.