OpenEggbert
The Ecosystem
MeshWorld is one component in a family of open-source C++ libraries and tools for 3D world generation, rendering, and game development.
Dependency Overview
How the Projects Connect
MeshWorldApp ← interactive viewer ├── MeshWorld ← world generation library │ └── MeshCraft ← MC3/MCB scene format ├── CNA ← SDL3 app framework │ └── SDL3 ├── EasyGL ← OpenGL abstraction │ └── MetaGL ← OpenGL ES abstraction └── SharpRuntime ← C++23 .NET reimpl Simple3D ← 3D rendering + Lua API └── Nova3D ← 3D engine MobileEggbert ← mobile game platform
MeshWorld sits at the centre of the world generation stack. The MeshCraft library defines the MC3/MCB scene format that MeshWorld writes. The CNA application framework provides the SDL3 window and event loop that MeshWorldApp runs inside. EasyGL and SharpRuntime fill in the rendering and utility layers.
Each project can be used independently. MeshWorld's core library has no GUI dependencies — only MeshWorldApp (the viewer) pulls in CNA, EasyGL, and SharpRuntime.
All Projects
MeshWorld
Procedural 3D world generator. 20 C++ chunk generators, Lua scripting, MC3 validation, real-time streaming viewer, CLI tools.
C++23 · Lua 5.4 · SQLite
GitHub →MeshCraft
MC3/MCB scene format library, validator, viewer, and compiler. Defines the 3D scene interchange format used by MeshWorld output.
C++23
GitHub →SharpRuntime
C++23 reimplementation of .NET System.* APIs. Provides string, collections, math, and IO utilities with a familiar .NET-style API in native C++.
C++23
GitHub →CNA
Cross-platform Native Application framework. Window management, event loop, input, and audio on top of SDL3. Used by MeshWorldApp for the OS layer.
C++23 · SDL3
GitHub →EasyGL
OpenGL abstraction layer. Wraps shader compilation, buffer management, texture upload, and draw calls into a clean C++23 API.
C++23 · OpenGL
GitHub →MetaGL
OpenGL ES abstraction. Sits below EasyGL in the rendering stack, providing a portable ES-compatible subset of OpenGL used for mobile and web targets.
C++23 · OpenGL ES
GitHub →Simple3D
Simple 3D rendering library with a Lua scripting API. Targets beginner-friendly 3D development. Has its own Lua scene description format.
C++23 · Lua
GitHub →Nova3D
Full 3D engine built on top of the lower-level rendering stack. Provides scene graph, entity system, and asset pipeline for game development.
C++23
GitHub →MobileEggbert
Mobile game platform targeting Android and desktop. Uses the CNA/SDL3 stack for cross-platform deployment with a focus on classic 2D gameplay.
C++23 · SDL3 · Android
GitHub →Technology Stack
Shared Technologies
C++23
All projects target C++23. Requires GCC 13+ or Clang 17+. Modern features: ranges, modules (where supported), concepts, std::expected.
CMake 3.20+
All repositories use CMake as the build system. FetchContent is used for automatic dependency download (Lua, sol2, etc.) — no manual dependency management.
MIT License
Every project in the OpenEggbert ecosystem is published under the MIT license. No credits required, no CLAs, no billing.
SDL3
SDL3 is the cross-platform window, input, and audio layer used by CNA and all applications that need a GUI or game loop.
Lua 5.4
Lua 5.4 is the embedded scripting language used in MeshWorld (generators), Simple3D (scene API), and other projects that expose scripting surfaces.
GTest
GoogleTest is the test framework used across all C++ projects. CI runs on every push. MeshWorld: 119 tests. Zero warnings policy.
Organisation
OpenEggbert on GitHub
All repositories are open-source, MIT-licensed, and actively developed under the openeggbert GitHub organisation.
| Repository | Description | Language |
|---|---|---|
| openeggbert/mesh-world | Procedural 3D world generator and explorer | C++23, Lua |
| openeggbert/mesh-craft | MC3/MCB scene format tools and viewer | C++23 |
| openeggbert/sharp-runtime | C++23 reimplementation of .NET System.* | C++23 |
| openeggbert/cna | Cross-platform Native Application framework (SDL3) | C++23 |
| openeggbert/easy-gl | OpenGL abstraction layer | C++23 |
| openeggbert/meta-gl | OpenGL ES abstraction | C++23 |
| openeggbert/simple-3d | Simple 3D rendering library with Lua API | C++23, Lua |
| openeggbert/nova-3d | 3D engine (scene graph, entity system, asset pipeline) | C++23 |
| openeggbert/mobile-eggbert | Mobile game platform (Android + desktop, SDL3) | C++23 |