Git Product home page Git Product logo

hedron's Introduction

Hedron

An all-in-one 3D modelling & procedural generation crate

๐Ÿšง Disclaimer ๐Ÿšง

Hedron is currently in an very early stage. I don't recommend you use this crate quite yet, as it is not at all stable or complete, but hopefully some of code provided can help you nonetheless!

Use cases:

  • Basic Modelling: Hedron could be used to develop a 3D modelling tool, a very basic blender clone.

  • Procedural Geometry / 'Parametric Design': Hedron is intended for parametric modelling, akin to what can be done with Rhino & Grasshopper.

  • Web Geometry Processing: The crate can be complied to WebAssembly, allowing these operations to be used on the web.

What it contains / will contain:

Hedron strifes to recreate a suite of tools exposed by the parametric design tool called Grasshopper. However, any interesting procedural tools like perlin noise generation, or Wave Function Collapse, will also be added.

It includes:

  • A variety of geometry models:

    • planar: Line, Circle, Triangle, Polygon ...
    • curves: Polyline, Bezier, Spline, ...
    • surfaces: BezierSrf, SplineSrf (TODO), ...
    • solids: Mesh, Polyhedron, Brep (TODO), ...
  • Operators on those models:

    • Point / Vector tools (Closest point, ...)
    • Transformations between the various models (triangulate brep, ...)
    • Modelling operations (loft, inset, extrude, split, subdivide)
    • Intersections (intersect mesh with plane)
    • Boolean operators (join two solids) (TODO)
  • Importers & Exporters:

    • Direct bevy integration: --features bevy
    • Obj + Mtl exporting
    • Svg, Stl, Gltf importing & exporting (TODO): --features svg stl gltf
    • Various mathematical tools to support the operations mentioned above.
  • Various extra procedural tools:

    • Marching cubes
    • Quadrilateral mesh deformation
    • Perlin Noise generation
    • Wave Function Collapse (TODO)

Used in:

Some cute graphics My upcoming game

Design

Hedron is designed to strike a balance between usability and expressiveness. It sacrifices A CGAL-level of expressivenes, in favor of a more simple and predictable API.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.