A flexible node editing system I created around April 2020. Includes a demo application that utilizes SDL2 to handle rendering of nodes and editing of control flow, but otherwise uses entirely standard libraries. Designed to permit easy creation of nodes using either custom functions or std functions directly through some fancy templated function wizardry.
This project was my first attempt at a large project in C++, so it wasn't set up to compile into a .lib or .dll, however it could easily be modified to do so.
A WIP content creation utility for N3V's Trainz Railroad Simulator 2019.
Trainzmesh Viewer
An application I created over the course of two weeks in July 2020. Capable of reading and viewing a mesh binary file format used in N3V Games’ Trainz Railroad Simulator 2019. Uses OpenGL through freeGLUT, GLEW, and GLMath, with a single vertex and fragment shader that supports PBR, Parallax Occlusion Mapping, and vertex skinning. A complex project, as no previous format documentation existed, and it required me to spend several days diffing files using the format in a hex editor. With some trial and error (and my prior knowledge of 3D formats) I was able to recognize and understand the data relating to vertices, texture coordinates, vertex normals and tangents, weight indexes, and triangle indices. All of the format’s relevant datatypes are parsed, and then casted into internal structs. The application's core components are separated into three dynamically linked libraries, to allow for reuse in other projects.
Currently closed source as to prevent mesh ripping.
The application is published on my Patreon, and uses a Patreon verification application I created in C# with the Chromium Embedded Framework. API tokens are stored in the user’s Documents folder, and then verified on application startup using libCURL.