No description
  • Zig 96.3%
  • WGSL 1.5%
  • Shell 1.1%
  • Batchfile 1.1%
Find a file
2026-07-03 12:51:16 +02:00
assets all todo for launcher setting/project/extension.zig done 2026-06-22 21:54:24 +02:00
registry Initial commit with some advancement on the project 2026-06-02 15:40:14 +02:00
src refactored main.zig, added todo 2026-07-03 12:51:16 +02:00
tools/shader Switched glsl to wgsl, the shader compiler (naga) is in tools/shader 2026-06-11 10:37:31 +02:00
.gitignore AI_Policy added, if ur againt its not my problem, also taking a 1/2 week pause 2026-06-27 14:25:55 +02:00
AI_Policy.md AI_Policy added, if ur againt its not my problem, also taking a 1/2 week pause 2026-06-27 14:25:55 +02:00
build.zig fixed zig build run-engine now the shader and models are properly found, fixed setup.bat/sh to support that modification 2026-06-22 11:24:51 +02:00
build.zig.zon Textures loading properly, working on parser, files path are more easier to modify and have a better management 2026-06-15 15:48:16 +02:00
installation.md Fixed a bug about the nit where depth resource where destroyed before destroying the framebuffer, installation.md updated 2026-06-13 17:57:29 +02:00
readme.md multi-threaded tick, dedicated render thread + dynamic job pool 2026-06-20 22:29:39 +02:00
setup.bat fixed zig build run-engine now the shader and models are properly found, fixed setup.bat/sh to support that modification 2026-06-22 11:24:51 +02:00
setup.sh fixed zig build run-engine now the shader and models are properly found, fixed setup.bat/sh to support that modification 2026-06-22 11:24:51 +02:00
structure.md updated structure.md 2026-06-17 21:43:46 +02:00

Singularity Engine

Open-source 3D engine built from scratch by Foxdroid Labs.

Stack

Component Details
Language Zig 0.16.0
Graphics API Vulkan (via vulkan-zig)
Windowing GLFW (via zglfw)
Images zigimg

Philosophy

Everything is built from scratch. Third-party libs are kept to a minimum (Vulkan, GLFW, image loading), math, parsing, physics, audio, and editor tooling are homemade.

Roadmap

Core

  • Tick system
  • Game loop
  • Window
  • Input manager
  • Free camera (WASD + mouse)
  • Settings system (resolution, fov, keybinds)

Rendering

  • [9/9] Vulkan bootstrap
    • Instance & validation layers
    • Physical & logical device
    • Swapchain
    • Render pass
    • Framebuffers
    • Graphics pipeline
    • Command pool & command buffers
    • Synchronization
    • Draw loop
  • Vertex buffers & mesh loading (OBJ)
  • Camera & MVP matrices
  • Depth buffer
  • Custom lighting model (Phong)
  • Textures & UV mapping
  • Skeletal animation (bones, skinning, keyframes)
  • Shadow mapping
  • PBR materials
  • Post-processing (bloom, tone mapping, FXAA)
  • VRAM optimization (staging buffers, device-local memory)
  • Nanite-like LOD system

Audio

  • Audio engine core (mixing, playback)
  • Ray-traced audio (occlusion, reverb via geometry)
  • Spatial/3D audio

Performance

  • Multi-threaded tick (need more testing but its working)
  • Multi-threaded physics
  • GPU-accelerated particles
  • Ray tracing library (separate optional lib, disabled by default)
  • Light baking

Engine

  • ECS (Entity Component System)
  • Scene graph
  • Asset manager (OBJ loader ✓, texture loader ✓)
  • Custom physics plugin
  • GPU UI rendering
  • Multi-threaded viewport

Editor

  • Viewport (gizmos, transform tools)
  • Scene hierarchy panel
  • Inspector (entity/component properties)
  • File explorer
  • Integrated terminal
  • Shader editor (live WGSL editing + hot-reload)
  • Texture editor
  • Animation editor (skeletal, timeline, keyframes)

Tooling

  • Shader hot-reload
  • Unit tests (math, OBJ/parsing)
  • zig fmt compliance pass

Scripting

  • Blueprint/visual scripting system (node graph)
  • Zig codegen from blueprint graphs (primary target)
  • C codegen from blueprint graphs (secondary target)

Project Structure

structure.md

Utils

# Count lines of Zig source (Linux only)
find . -type f -name '*.zig' -not -path '*/.zig-cache/*' -not -path '*/zig-pkg/*' -print0 | xargs -0 wc -l

# Count chars of Zig source (Linux only)
find . -type f -name '*.zig' -not -path '*/.zig-cache/*' -not -path '*/zig-pkg/*' -print0 | xargs -0 wc -c

Foxdroid Labs