# Tokamak **Repository Path**: long33/Tokamak ## Basic Information - **Project Name**: Tokamak - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-16 - **Last Updated**: 2025-08-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Tokamak A C# engine for games and virtual worlds. This project is just starting out. The goal is to provide a set up easily understood building blocks that can be combined together to build the application, or to be replaced, updated, and extended however the user wishes to fill their desired needs. ## Projects - Abstractions\ This project holds all of the key abstraction interfaces. - Core\ Base runtime classes, provides configuration and application host management. Similar to the NET Generic Host, but with a focus on applications with real time processing. - Graphite\ 2D Graphics library with a rich set of functions for rendering beautiful UIs and other 2D graphics. - Mathematics\ Additional mathematical functions for processing color, basic physics primitives and hit testing. - Quill\ Library for doing reading and rendering of typography. - Readers\ Generic list of format readers. - Tritium\ Base graphics hardware management and rendering. - VFS\ A Virtual File System library # Building Should be a mater of opening the solution in Visual Studio and hitting build. Not yet tested it under Linux or Mac OS X, but if you have the .NET 8.0 tools installed you should be able to run: ``` dotnet build Tokamak.sln ``` The current executable is the TestBed project where all the experimentation is going on. # TODOS - [ ] Abstractions - [ ] OpenGL (in progress) - [ ] DirectX - [ ] Metal - [ ] Vulkan (in progress) - [ ] Extension loader system - [ ] OS level GUI objects (e.g. the main window/screen) - [ ] Direct hardware input (e.g. DirectInput) - [ ] Sound - [ ] Graphite (2D Graphics) - [X] Basic line drawing - [ ] Bitmap drawing (basic blits working) - [ ] Text rendering (in progress) - [ ] Basics for debugging (reworking) - [ ] Advanced formatting and layout - [ ] Complex shape drawing - [ ] Animation - [ ] Quill (Fonts) - [ ] In engine UI # Status - Currently the Vulkan driver is really broken, will likely need to rewrite portions of it. - Reorganized a good chunk of the project to clean up the code a bit. - Created a basic GameHost type hosting system similar to how Microsoft organizes most other .NET Core apps. - FBX Loading working (ish), still fragile and assumes the file isn't corrupt or messed up somehow.