PanosK92/SpartanEngine

Public

A game engine with a fully bindless, GPU-driven renderer featuring real-time path-traced global illumination, hardware ray tracing, and a physics simulation running at 200Hz, built over 12+ years of R&D

  • Stars3.2k+3 tuần này
  • Forks280
  • Watchers77
  • Issues5
  • Ngày tạo18/06/2016
  • Cập nhật gần nhất30/10/2026
  • Ngôn ngữC++
  • Giấy phép—
readme.md21.8 KBRaw

Spartan Engine

One engineer. Twelve years. A bindless, GPU-driven engine with real-time path-traced global illumination.

A personal R&D engine, not a commercial product. No roadmap promises, no support queue, no compromises on the vision.

Build Status Discord License

Discord  ·  X  ·  Wiki  ·  Issues


The Engine

Spartan started as a university project. Ten years of nights and weekends later, its rendering technology runs in Godot Engine and S.T.A.L.K.E.R. Anomaly, ships in a published programming book, and anchors a community of 600+ engineers on Discord.

This is what a codebase looks like when a single person owns every line for a decade: no legacy committees, no half-migrated architectures, no "we'll fix it in the next version." One philosophy applied without compromise: favor real-time over baked, dynamic over static, modern over safe. Every system here exists to serve that.

There is a destination that gives all this tech a purpose. Curious? Read the plan →


The Trailer

Engine Trailer


Worlds

The root worlds/ directory contains .world XML files and its directory README. All supporting assets, including scripts, car definitions, materials, audio, previews, sequencer data, map exports and backups, live in binaries/project/ and are excluded from Git. Runtime asset paths start with project/ because the engine runs from binaries/. Include these assets when packaging the Dropbox project.7z download.

Launch the engine and choose from a selection of default worlds. Nothing is a canned demo—every world is physics-enabled. Walk around, pick up objects with your mouse, or take a car for a spin.

Rendering

The renderer is built around one principle: the GPU owns the data. Every resource (geometry, materials, textures, lights, transforms, AABBs) lives in persistent, globally accessible buffers. No per-draw descriptor updates, no per-draw resource binding, no CPU-side draw loops.

Architecture

  • Zero-binding draw path, all per-draw data lives in a single bindless storage buffer, push constants carry only an index

Nội dung README thuộc về PanosK92 và cộng đồng đóng góp, giấy phép Không có giấy phép. Nguồn: github.com/PanosK92/SpartanEngine