Skip to content

Mesh data for geometry editing, Unity Job System enabled. Similar to Blender's BMesh and BMeshUnity. Made to support "Mesh Graph", a node-based procedural geometry generator for Unity.

License

MIT, Unknown licenses found

Licenses found

MIT
LICENSE
Unknown
LICENSE.meta
Notifications You must be signed in to change notification settings

CodeSmile-0000011110110111/GMesh

Repository files navigation

GMesh

GMesh enables creating reliable geometry editing tools. It is a graph-based Mesh data structure (kind of like a relational database) for geometry editing via Euler operators. It is built from the ground up to enable Unity Job System support.

GMesh is developed to support "Mesh Graph", a node-based procedural geometry generator for Unity.

Simple code example:

var gmesh = new GMesh();
gmesh.CreateFace(vertices);
_meshFilter.sharedMesh = gmesh.ToMesh();
gmesh.Dispose();

Where vertices is any IEnumerable collection of 3 or more points (float3 or Vector3).

NOTE: switch to "develop" branch to see latest work in progress.

Discord Channel

Join the CodeSmile Discord channel if you have questions, need support, have an offer or just want to chat. :)

FAQ

GMesh is similar to Blender's BMesh and BMeshUnity (incompatible with Job System).

What is "Mesh Graph"?

Mesh Graph is a node-based procedural geometry design tool I am developing for the Unity Asset Store.

Think Blender's Geometry Nodes but directly applicable to creating game meshes.

Why is it called "GMesh"?

"G" stands for "Graph" but could also refer to "Geometry" or "General" because the primary purpose is to provide a reliably editable mesh data structure. In turn it cannot be rendered directly by Unity, a (fast) conversion to Mesh as a final step is required and will be included.

Since the "B" in BMesh stands for Blender I thought it better to use a different prefix, and since I am working on a Node Graph ba