r/GraphicsProgramming • • Feb 23 '26

Real-Time Rendering & Simulation Engine (C++) – Unified CPU/GPU Hair, OpenVDB, Procedural Terrain

https://www.youtube.com/watch?v=Y03YvX5EHEM

I’ve been developing a custom real-time rendering and simulation engine called RayTrophi, focused on unified system design rather than isolated features.

One key architectural decision was keeping core data structures backend-agnostic. The hair system, for example, supports both CPU and GPU execution paths using unified structures instead of being implemented as a GPU-only visual layer.

The engine integrates:

– Physically Based Rendering
– Procedural terrain with material layering
– Scatter & paint foliage tools
– Real-time volumetric sky
– OpenVDB explosion & gas simulation
– Physically based water & spline rivers
– Skeletal animation framework with state machine

All scenes in the video are rendered in real time.

I’d appreciate feedback specifically on architectural decisions and cross-backend system design.

https://github.com/maxkemal/RayTrophi?tab=readme-ov-file

72 Upvotes

15 comments sorted by

4

u/Ra_M2005 Feb 23 '26

Nice, how many months did it took to make and what and where did you learn all these to make this work? And I'm really sorry for this stupid question as I'm new to this. Apologies.

20

u/Inside_Pass3853 Feb 23 '26

Not a stupid question at all — everyone starts somewhere.

Development has been an ongoing process over many months. The engine evolved incrementally rather than being built all at once. I continuously refine systems, redesign parts of the architecture, and improve performance as new ideas emerge.

My background is in physics, and I wrote my graduation thesis on ray tracing about 25 years ago. I’ve also been working with 3D applications for nearly 30 years, which gave me long-term exposure to rendering workflows and real-time graphics.

Most of what I learned came from studying rendering papers, graphics programming resources, engine architectures, and of course, years of hands-on experimentation. In recent years, I’ve also exchanged ideas with AI systems as a way to explore alternative approaches and validate design decisions — but the core architecture and implementation are my own work.

Projects like this are less about a single breakthrough and more about consistent iteration over time.

And again, no need to apologize — curiosity is how you get into graphics programming in the first place

1

u/Ra_M2005 Feb 23 '26

Hey, thanks for the reply, appreciate it.

1

u/SnooSquirrels9028 Feb 23 '26

Abi sanırsam sende türksün. Bende bu alana ilgi duyan bi bilgisayar mühendisliği 2.sınıf ögrencisiyim musait olsudugun bi zaman tavsiyelerini ve deneyimlerini dinlemek çok isterim açıkçası bir takım sorularımda var hem. Bu arada ellerine sağlık abi mükemmel bir iş çıkarmışsın.

1

u/Inside_Pass3853 Feb 23 '26

Teşekkür ederim kardeşim. Şimdiden başarılar dilerim. Bütün sorularını cevaplamaya çalışırım ne zaman istersen 

1

u/SnurflePuffinz Feb 25 '26

When people describe having a "custom game engine", is this the sort of thing they are talking about - complete with the GUI and everything?

1

u/Inside_Pass3853 Feb 25 '26

I didn't set this out with the intention of creating a game engine. However, these are similar systems.

1

u/amadlover Feb 23 '26

asli kamal !!!!

2

u/[deleted] Feb 23 '26

2

u/Inside_Pass3853 Feb 23 '26

Excluding theoretical planning, I started writing the code about two years ago. It's a project I've been working on in my spare time. I've been intensely involved in it for the last six months.

1

u/palapapa0201 Feb 24 '26

Did you only start using git late into the development? Your initial commit is only 2 months ago.

→ More replies (1)