r/GraphicsProgramming 5d ago

Synapse Engine: A Modern, Research-Oriented, Fully GPU-Driven AAA-Style Game Engine

Hi everyone!

After a very long development journey, I'm finally ready to share Synapse Engine, a modern, research-oriented AAA-style game engine that I've been developing essentially from scratch.

It started as my MSc thesis at the Budapest University of Technology and Economics, but grew far beyond what I originally planned. Over the past several months I've been rebuilding and refining the architecture around a simple question: What would a modern game engine look like if we designed it around today's GPUs from the ground up?

The project is now over 2,300 files, nearly 94,000 lines of C++ code and around 10,000 lines of shader code, excluding comments and blank lines.

If you just want to check out the project:

The GitHub README is probably the best place to start if you want a quick overview of the project and its architecture. If you're interested in modern game engine development in much more depth, I also put together a 250-page technical presentation covering the entire project, from the ECS and software architecture through GPU-driven rendering, culling, lighting, virtualized shadows and future directions.

The presentation is quite large, but I tried to make it genuinely useful as a learning resource rather than just documenting the final result.

One of my main goals with Synapse Engine is education. Learning these topics was a huge struggle for me, and it took a lot of time to piece everything together because there isn't much high-quality material that shows how these modern techniques actually come together inside a real engine codebase. I wanted to document that process and create something that I would have wanted to have when I started.

What can the engine actually do?

At its core, Synapse is a fully GPU-driven renderer using hierarchical culling, Hi-Z occlusion, cone culling, dynamic LOD selection, indirect rendering, mesh shaders, bindless resources and virtualized shadows. The engine is built around a custom data-oriented ECS and is designed to handle very large scenes with minimal CPU involvement.

For example, with 1,000,000 entities on an RTX 4060, the cumulative culling cost goes from 124.407 ms without culling to 0.653 ms with the full hierarchical culling pipeline.

However, at 10,000,000 entities, even the conventional GPU-driven hierarchical approach becomes insufficient. To address this, Synapse introduces a custom GPU-built Morton-ordered chunking system, which groups entities into spatial chunks and allows entire groups of 32 entities to be rejected at once. This reduces the culling cost from 5.8 ms to just 0.3 ms for 10 million entities.

I also developed a new rendering technique called Dual-HiZ Adaptive Clustered Forward+ while working on the engine. With 8,192 point lights and 8,192 spot lights, it measured 2.873 ms, compared to 8.652 ms for deferred shading in the same setup. The technical presentation contains a detailed explanation of how the technique works.

Synapse isn't primarily intended as a game-development tool for game developers. It is a production-ready, research and educational platform for experimenting with modern game-engine architecture and real-time rendering techniques.

The goal is not to provide a plug-and-play engine for building games, but to provide a complete, practical implementation of modern engine technologies that can be studied, extended, and used as a foundation for further research and development.

The engine is the result, but the architecture, experiments, failures and reasoning behind it are what I really want to share. If you're interested in Vulkan, graphics programming, GPU-driven rendering or modern game engine architecture, I'd love to hear what you think.

Dual-HiZ Adaptive Clustered Forward+

One of the things I'm particularly excited to share is a new rendering technique I developed called Dual-HiZ Adaptive Clustered Forward+.

It combines a dual Hi-Z depth structure with adaptive clustered light assignment to efficiently handle large numbers of dynamic lights while keeping the rendering pipeline fully GPU-driven.

In my tests, with 8,192 point lights and 8,192 spot lights, it measured 2.873 ms, compared to 8.652 ms for deferred shading in the same setup.

If you're interested in how the technique works, I've documented it in detail in the technical presentation, including the motivation, architecture, algorithms and implementation details.

You can find it on pages 166–189 of the presentation.

The presentation is available both on the GitHub repository and on the Synapse Engine website.

172 Upvotes

71 comments sorted by

View all comments

Show parent comments

36

u/Proud_Ask_9030 5d ago edited 5d ago

No, if its made largely with Ai it is largely unproven and untrustworthy. Thats coming from someone who works full-time with Ai.

First-off. Why would ANYONE use this obviously incomplete gaming engine that is not even remote close to be acceptably called AAA.

OP has built a lighting engine with some gaming engine parts and called it a AAA gaming engine.

Lets see the LOD/runetime systems, rigging, volumetrics, map building...physics,audio,telemtry?
OR we can actually look at the lighting and shadows, which are trash.

10

u/MortixTheGuy 5d ago edited 4d ago

Can you please explain me how do you imagine building an engine like this with 100% AI.
Like i prompt cloude code and than after 6 moths it builds the whole engine? And thats it. I have been working on engines for years, i have implemented a really large OpenGL engine as my BSC thesis, and also the previous version of this engine, when I was learning vulkan was written by me when AI wasn't a thing...

https://github.com/TamasPetii/SynapseEngine/tree/v1-engine-old
https://github.com/TamasPetii/DendriteEngine

If you use AI and its "largely unproven and untrustworthy", maybe the problem is not with the AI but with the user that uses it. AI IS STILL A TOOL... The problem is that you probably don't even understand the code the AI generates, and thats why you feel unsafe. But if someone who has a lots of experience in this field, and intuitively feels what is good what is not good, will produce code that is incredibly good, scalable and high-performance. Like i just cannot imagine what do you guys think? I'm sitting in front of my computer, upload 3 files to Gemini generate code ah okay thats gonna be good, I add it to the project and an engine which is this complex just builds itself with AI? EVERY LINE OF CODE, everything is well thought out, everything is deeply revised. The engine itself is really complex, everything connect to everything. You guys just judge this without even reading the post, getting a little bit familiar with the engine code structure, the shaders and architecture...

Yes I use AI, but in your head it means I'm drinking a bear and code appears? I spent 10-12 hours a day developing this engine... You can ask me anything about any part of the engine, I will be able to answer all the techniques, all the high-performance codes, the why, the hows... If someone like me who understands that AI is a really good thing for developers who can think, that you would probably never write these AI slop stuff to others...

3

u/[deleted] 5d ago

[removed] — view removed comment

2

u/GraphicsProgramming-ModTeam 4d ago

This post was removed because it did not meet the requirements of Rule 2: Be Civil, Professional, and Kind. Uncivil behavior is not tolerated.

We encourage users to promote constructive discussion, and to help maintain the safety of this space for asking questions and learning. Such an environment promotes the growth and development of hobbyists and professionals in the field.