Skip to content
View robertvokac's full-sized avatar

Block or report robertvokac

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please donโ€™t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this userโ€™s behavior. Learn more about reporting abuse.

Report abuse
robertvokac/README.md

๐Ÿ‘‹ Robert Vokรกฤ โ€” C++ Systems Engineer

Modern C++ ยท 3D tooling ยท Cross-platform frameworks ยท Compatibility layers ยท Runtime systems


๐Ÿš€ Focus

C++ developer focused on 3D tooling, system-level engineering, cross-platform framework design, and compatibility layers.

Looking for roles in:

  • C++ systems engineering
  • runtime / framework development
  • cross-platform / platform abstraction work
  • backend / platform architecture
  • game technology / engine tooling

๐Ÿง  What I build

I design and implement 3D tools, C++ frameworks, platform abstraction layers, and compatibility systems in modern C++, focusing on:

  • explicit API design
  • system behavior reproduction
  • modular architecture
  • cross-platform execution (Windows ยท Linux ยท WebAssembly ยท Android)
  • long-term maintainability

Validated on real-world applications (Planet Blupi 1996, Speedy Blupi 2001/2013) โ€” playable web builds at speedyblupi.com. Ecosystem hub: openeggbert.com.

โ‰ˆ611.4k lines of C++ across the projects below.ยน


๐Ÿ”ฅ Projects

1. Mesh Craft โ€” 3D scene editor

๐Ÿ”— https://github.com/openeggbert/mesh-craft ยท ๐ŸŒ https://meshcraft3d.com ยท ๐ŸŒ https://meshcraft.openeggbert.com ยท ๐Ÿ“ โ‰ˆ41.2k LOC

  • C++23 3D scene editor for the .mc3.xml format โ€” primitive shapes, hierarchical groups, CSG (union/difference/intersection via Manifold), extrude-along-path, PBR materials, keyframe animation, prefabs
  • native .mc3.xml format: human-readable XML-based editable source compiled to glTF/GLB or binary MCB via mc3togltf / mc3tomcb CLI tools
  • Dear ImGui editor (orbit camera, gizmos, timeline, undo/redo, autosave) built on CNA + sharp-runtime; exercises the full C++ engine stack as a real editor application
  • Actively developed โ€” full XML load/save roundtrip, all primitives, CSG, animation, and GLB export working

โžก๏ธ Focus: 3D tooling, file formats, geometry processing, editor UX


2. CNA โ€” C++ framework (XNA-style API)

๐Ÿ”— https://github.com/openeggbert/cna ยท ๐ŸŒ https://libcna.com ยท ๐ŸŒ https://cna.openeggbert.com ยท ๐ŸŽฎ WebAssembly demo ยท ๐Ÿ“ โ‰ˆ292.2k LOC

  • XNA-style API in native C++ under Microsoft::Xna::Framework
  • rendering, input, audio, resource lifecycle, backend abstraction
  • restructured into 15 independently buildable modules plus a renderer layer of ~40 backends, each with its own CMake target
  • 46 rendering backends spanning modern APIs (Vulkan, bgfx, WebGPU, native Direct3D 9/10/11/12, SDL_GPU, Metal, Diligent Engine, Sokol), the full legacy DirectX line (DirectX 1โ€“9, Wine/DXVK-verified), desktop and mobile OpenGL/OpenGL ES/OpenVG, and specialty targets (HTML Canvas, SVG, GDI, Glide, headless)
  • one codebase targets Windows, Linux, WebAssembly, and Android
  • used to port a real C# / XNA game (Speedy Blupi, 2013)

โžก๏ธ Focus: cross-platform framework, runtime systems, API compatibility


3. CNA Samples โ€” XNA sample collection ported to C++

๐Ÿ”— https://github.com/openeggbert/cna-samples ยท ๐Ÿ“ โ‰ˆ48.0k LOC

  • C++ ports of the official Microsoft XNA Game Studio 4.0 sample collection, running on CNA
  • a continuously growing compatibility test bed proving the framework's API coverage on real code
  • ๐ŸŽฎ web demos coming soon

4. CNA Craft โ€” voxel world prototype on CNA

๐Ÿ”— https://github.com/openeggbert/cna-craft ยท ๐Ÿ“ โ‰ˆ6.3k LOC

  • Minecraft-like first-person voxel-world prototype built directly on CNA's Microsoft::Xna::Framework API โ€” a faithful port of fogleman/Craft
  • unbounded chunk-streamed block terrain with baked ambient occlusion, 54-block roster, world-editing commands, signs
  • DDA voxel raycast for block breaking/placing; SQLite delta-based world persistence; multiplayer against its own server
  • runs on CNA's OpenGL (easy-gl), Vulkan, and bgfx backends; playable in the browser via WebAssembly/WebGL2 โ€” in active development

5. Sharp Runtime โ€” C#/.NET subset in native C++

๐Ÿ”— https://github.com/openeggbert/sharp-runtime ยท ๐ŸŒ https://sharpruntime.openeggbert.com ยท ๐Ÿ“ โ‰ˆ78.9k LOC

  • System::* namespaces implemented in idiomatic modern C++
  • covers exceptions, events, delegates, collections, and system-level building blocks
  • restructured into 39 independently selectable modules (41 CMake components)
  • foundation layer for CNA, Mesh Craft, and Galaxy Eggbert

6. Free Direct โ€” DirectX 3 (2D) compatibility layer

๐Ÿ”— https://github.com/openeggbert/free-direct ยท ๐ŸŒ https://freedirect.openeggbert.com ยท ๐ŸŽฎ Speedy Eggbert 2 demo ยท ๐ŸŽฎ Planet Blupi demo ยท ๐Ÿ“ โ‰ˆ4.3k LOC

  • reimplementation of DirectDraw / DirectSound subset over SDL3
  • CPU surface model, blitting, palettes, color keys, locking, presentation
  • designed to replace original DirectX 3 SDK dependencies in legacy applications

โžก๏ธ Focus: low-level graphics systems, legacy API compatibility


7. Free API โ€” WinAPI compatibility layer

๐Ÿ”— https://github.com/openeggbert/free-api ยท ๐ŸŒ https://freeapi.openeggbert.com ยท ๐Ÿ“ โ‰ˆ4.5k LOC

  • WinAPI-style windowing, message loop, input, timers, multimedia APIs
  • SDL3-based implementation (Linux / cross-platform)
  • works together with Free Direct as the system/platform side of legacy application compatibility

โžก๏ธ Focus: system APIs, OS abstraction, runtime behavior


8. Free Eggbert โ€” Speedy Eggbert 2 reconstruction

๐Ÿ”— https://github.com/openeggbert/free-eggbert ยท ๐ŸŒ https://freeeggbert.openeggbert.com ยท ๐ŸŽฎ WebAssembly demo (partial) ยท ๐Ÿ“ โ‰ˆ28.1k LOC

  • buildable reconstruction of the 1998โ€“2001 game Speedy Eggbert 2, reverse-engineered from original binaries (Ghidra, IDA, ILSpy)
  • made portable beyond Windows/DirectX via Free API + Free Direct (SDL3)
  • Emscripten web build with IndexedDB save persistence

โžก๏ธ Focus: reverse engineering, game preservation


9. Mobile Eggbert โ€” C++ port of Speedy Blupi (2013)

๐Ÿ”— https://github.com/openeggbert/mobile-eggbert ยท ๐ŸŒ https://mobileeggbert.openeggbert.com ยท ๐ŸŽฎ Play in browser ยท ๐Ÿ“ โ‰ˆ20.5k LOC

  • C++ port of the 2013 Windows Phone XNA game Speedy Blupi, running on CNA
  • migration chain: C# XNA 4.0 โ†’ ILSpy decompilation โ†’ MonoGame โ†’ native C++/CNA
  • playable on desktop and in the browser (IndexedDB saves); reference implementation for Galaxy Eggbert

10. Galaxy Eggbert โ€” 3D game (CNA)

๐Ÿ”— https://github.com/openeggbert/galaxy-eggbert ยท ๐ŸŒ https://galaxyeggbert.openeggbert.com ยท ๐Ÿ“ โ‰ˆ18.5k LOC

  • 3D remake of Speedy Blupi validating the full CNA + Easy3D engine stack
  • targets Linux, Windows, WebAssembly, and Android from a single C++ codebase

11. easy-gl โ€” OpenGL/OpenGL ES rendering wrapper

๐Ÿ”— https://github.com/openeggbert/easy-gl ยท ๐ŸŒ https://easygl.openeggbert.com ยท ๐Ÿ“ โ‰ˆ3.6k LOC

  • toolkit-independent C++20 OpenGL/OpenGL ES wrapper
  • host owns window and GL context; easy-gl owns all OpenGL interaction
  • built on top of meta-gl; used by CNA as its OpenGL rendering backend

12. easy-3d โ€” 3D helper library for CNA

๐Ÿ”— https://github.com/openeggbert/easy-3d ยท ๐ŸŒ https://easy3d.openeggbert.com ยท ๐Ÿ“ โ‰ˆ1.0k LOC

  • small C++23 helper library beside CNA โ€” deliberately a library, not an engine
  • cameras (orbit/follow), texture atlas, billboard and cube batching, debug draw
  • first consumer: Galaxy Eggbert

13. meta-gl โ€” low-level OpenGL function loader

๐Ÿ”— https://github.com/openeggbert/meta-gl ยท ๐ŸŒ https://metagl.openeggbert.com ยท ๐Ÿ“ โ‰ˆ8.9k LOC

  • type-safe C++23 OpenGL ES 2.0+ function loader
  • runtime loading via host-supplied GetProcAddress โ€” no windowing, no context creation
  • enum class wrappers for all OpenGL constants; foundation layer for easy-gl

14. Mobile Eggbert Legacy โ€” C#/MonoGame preservation archive

๐Ÿ”— https://github.com/openeggbert/mobile-eggbert-legacy

  • preserved C#/MonoGame stage of the Mobile Eggbert migration
  • ILSpy-decompiled Windows Phone XNA 4.0 sources; related repositories merged via git subtree

15. Mobile Eggbert LibGDX โ€” Java port

๐Ÿ”— https://github.com/openeggbert/mobile-eggbert-libgdx

  • Java/LibGDX port of Speedy Blupi (Mobile Eggbert) with a small XNA/.NET compatibility bridge
  • desktop (LWJGL3), Android, and HTML targets

16. Sprite Utils โ€” sprite utilities and assets

๐Ÿ”— https://github.com/openeggbert/sprite-utils ยท ๐Ÿ“ โ‰ˆ2.2k LOC

  • small C++23 sprite utility library and assets (number spritesheets, web component) supporting the game projects

17. YouTube Frontend โ€” static index generator for ArchiveBox

๐Ÿ”— https://github.com/openeggbert/youtube-frontend ยท ๐ŸŒ https://youtube.openeggbert.com ยท ๐Ÿ“ โ‰ˆ2.3k LOC

  • C++23 tool that generates static HTML index pages for ArchiveBox video archives
  • uses OpenCV, FFmpeg libraries, and libcurl

18. ๐Ÿง  Hive โ€” backend platform

๐Ÿ”— https://github.com/robertvokac/hive ยท ๐ŸŒ https://hive.robertvokac.com ยท ๐Ÿ“ โ‰ˆ45.0k LOC

  • metadata-driven C++23 backend system
  • custom ORM, migrations, REST API generator
  • plugin architecture (models, jobs, triggers, queries)
  • scheduler + event-driven automation

โžก๏ธ Focus: backend systems, platform design, architecture


19. bit-backup โ€” bit rot detection

๐Ÿ”— https://github.com/robertvokac/bit-backup ยท ๐Ÿ“ โ‰ˆ3.1k LOC

  • command-line tool that detects silent data corruption via SHA-512 checksums stored in SQLite (C++23, OpenSSL)
  • parallel hashing, ignore patterns, rotating scrub verification, CSV reporting for cron integration

20. Lexicon โ€” desktop knowledge dictionary

๐Ÿ”— https://github.com/robertvokac/lexicon ยท ๐ŸŒ https://lexicon.robertvokac.com ยท ๐Ÿ“ โ‰ˆ2.8k LOC

  • desktop knowledge dictionary for structured technical notes (C++23, Qt 6 Widgets, SQLite)
  • typed term relationships with backlinks, Markdown content with live preview, full-text search

ยน LOC measured with cloc (August 2026): C++ sources and headers (.cpp/.hpp/.h), src/ and include/ directories only, excluding tests, vendored, and third-party code.


๐Ÿงญ Why I build runtimes and frameworks

Runtimes and compatibility layers force:

  • precise API design
  • understanding of system behavior
  • control over execution model
  • clear ownership and lifecycle
  • deep debugging of real-world software

behaviorally accurate, modular, and architecture-driven โ€” not just feature-driven


๐Ÿ”„ C++ Transition

After several years in enterprise backend development (Java), I transitioned toward system-level engineering in C++.

Since my previous work did not involve C++ directly, I built expertise through real implementations, including:

  • a 3D scene editor (Mesh Craft)
  • cross-platform C++ framework running real games (Windows / Linux / WebAssembly / Android)
  • DirectX 3 / WinAPI compatibility layers
  • backend platform (โ‰ˆ45k LOC)
  • multiple reusable system libraries

๐Ÿงฐ Tech Focus

  • C++20/23
  • Linux, CMake, Git, GCC / Clang
  • SDL3, OpenGL / OpenGL ES, bgfx, Dear ImGui
  • SQLite, Lua (sol2)
  • 3D tooling, cross-platform frameworks, compatibility layers, runtime systems, system architecture

๐Ÿ“ซ Contact


โญ Pinned repositories show my current direction and strongest work

Pinned Loading

  1. hive hive Public archive

    Modular C++23 universal data server โ€” one ModelDefinition drives an auto-generated REST API, SQLite persistence, triggers, a scheduler, and a web UI.

    C++ 1