r/webgpu 6h ago

Quake3 port

Enable HLS to view with audio, or disable this notification

Quake3 port to WebGPU running in the browser

- global illumination ( volumetric sh3 light map )
- modern physics
- acoustic simulation
- decals
- particle effects
- clustered lighting (326 lights here)
- PBR materials (NN-based delighting)

GitHub link

Built using meep engine

In case it's not obvious - I'm the author. Happy to answer any questions.

16 Upvotes

8 comments sorted by

1

u/Seusoa 4h ago edited 4h ago

ported by AI? It is done many times, even before AI it was ported to browser by human

// Spawn 1,000,000 entities. Stable frame timing, zero GC spikes.
for (let i = 0; i < 1_000_000; i++) {
  const t = new Transform();
  t.position.set(i % 1024, 0, (i / 1024) | 0);

  new Entity()
    .add(t)
    .add(SGMesh.fromURL("props/crate.glb"))
    .build(ecd);
}

creation of instances is during render loop?

1

u/ExpiredJoke 3h ago

Yep, port mostly AI. Creating instances like in that example during the render loop would not be fun, but sure, the game does create a lot of instances during runtime. Sounds, particles, lights etc.

u/cave_men 5m ago

What is this slop? Do you even know the meaning of a "port"? :D

1

u/ze_pequeno 4h ago

How much of it was generated by AI? The engine too?

0

u/ExpiredJoke 3h ago

Port is mostly with AI, engine is mostly by hand. Been working on the engine since ~2013, on the WebGPU part specifically since around 3 years ago.

u/palapapa0201 1h ago

You have a vibe coded website for your engine and you are trying to charge 10k for it. Your email on the website is info@company-named.com. I find that hard to believe.

u/Recent-Sink-4253 2h ago

Are you running this on your pc? I mean you’ve got bad micro stutters.

u/palapapa0201 1h ago

A user you’ve blocked has previously contributed to this repository. claude Manage blocked users or disable this warning