Megatech


Portfolio

Godot 3 Patch for Doomsday Paradise

Operating System
Linux, Windows
Languages
C++
APIs
Godot 3.5
Tools
SCons, Git, GNU Debugger (gdb)
What
I fixed Godot 3.5's line breaking implementation for Traditional Chinese and Japanese text in the RichTextLabel and Label nodes, making it handle CJK and mixed language text correctly. I also ensured the default functionality could be restored with a toggle.
How
I debugged Godot 3.5's source code with gdb, tracing macros by hand, and patched it without any external libraries to avoid extra hassle.
Why
Lemonade Flashbang hired me to get their game ready for Bitsummit and Steam. I fixed their problem inside of 17 hours to meet the tight deadline for their demo.

Megatech-Vulkan Dispatch

Operating System
Linux
Languages
C++20, Python3, XML
APIs
Vulkan
Tools
Meson, Git, GNU Debugger (gdb)
What
I built a C++ dispatch library to preload Vulkan command pointers, offering index and hash access, plus a Python package to generate custom command sets from Vulkan’s XML specification. It’s lean compared to Volk at around 50KiB and it builds without a dependency on Vulkan.
How
I wrote a Python3 script to parse the XML and generate a tailored command list while checking feature dependencies. Then I wrote a C++20 library to create compile-time tables from the generated lists.
Why
I wanted a cleaner, smaller, and more configurable alternative to Volk for my own Vulkan projects (like Megatech-Vulkan).

Fractal Renderings

Operating System
Linux
Languages
C++20, GLSL, JavaScript
APIs
OpenGL 4.5, SDL2, WebGL 2
Tools
Meson, Git, GNU Debugger (gdb)
What
I wrote three C++ programs to render the Mandelbrot set, Burning Ship fractal, and animated Julia sets using OpenGL 4.5 and SDL2, plus a WebGL 2 version of the Julia sets embedded in my blog.
How
I rendered each fractal using GLSL fragment shaders. I implemented panning and zooming by scaling and offsetting the generated fractal. In the case of the animated Julia sets, I also iterate a complex constant to create the animated effect.
Why
I wanted to dig into real-time graphics with something tangible, then expanded it to include Julia sets and the Burning Ship.

Megatech-Assertions

Operating System
Linux
Languages
C++20
Tools
Meson, Git, GNU Debugger (gdb)
What
I wrote a C++20 library to replace standard assertions with thread-safe versions that support formatted messages using std::vformat_to or std::vsnprintf, plus precondition and postcondition checks.
How
I built it with no dependencies beyond the C++ standard library, using mutexes and condition variables for thread safety and a fixed-size thread-local buffer to handle formatting without allocation risks.
Why
I got tired of basic asserts without runtime messages or formatting and wanted a cleaner way to debug my own projects with detailed failure output.

Sunset 76 Customer Landing Page

Operating System
Linux
Languages
HTML, CSS, JavaScript
Tools
LiteSpeed Web Server, cPanel, Git
What
I built a static and responsive web page for an auto repair business with contact info, business hours, and other information all in HTML and CSS with media queries.
How
I wrote the HTML and CSS from scratch and iterated the design with the client. Then I wrestled Turbify’s hosting and LiteSpeed setup to serve the page cleanly while maintaining uptime.
Why
Sunset 76 hired me to replace a flaky old site that had been causing customers to call in asking about hours and services.