Loading video...
Video Failed to Load
Utter and total insanity(!!!) My vote for most hardcore splat demo ever. DOOM entirely in splats. Sprites, status bar, characters, gun rendering, all splats. Rendering and sorting with WebGPU. Dynamic lighting updating splats in real time. Sparkjs LoD to render entire levels.
29,875 views • 5 days ago •via X (Twitter)
28 Comments

demo built by the legendary

Say more? How are the walls represented? Are there texture maps? Do the splats have opacity maps? I don't get how the walls seem to have pixel shaped texture maps on them, are ~10 colored Gaussians being used to flesh out each texel?

Each texel from the texture maps are turned into exactly one Gsplat, so a wall with a texture becomes a rectangular grid of splats. The splats are drawn as regular 3DGS with a Gaussian opacity profile. But every frame the Gsplats also change their color / shade, coming from the Doom game code, which would have drawn the texture mapped quads with real time lighting/shading but now that code modifies each splat color so it looks like the original. The object sprites and the bottom status bar and the gun also are made the same way: texture mapped pixels where each pixel becomes exactly one splat. Near the beginning of the video I adjust a debug slider to "flatten" the 3DGS opacity profile to make the splats render like disks... You can really see each individual splat in that mode. Then Andreas unflattened them and you can see they softly blend together, almost like antialiased texture mapping.

It’s so over for ray casting

omg

WHAT

ok im sold on retro splatting
Is this different from having 1 poly per pixel? Does the lighting change based on angle?

Yes lighting changes. Lighting updates are on all splats in real time. Also ...

@sameh_khamis also just built this tool for GS in a CLI 😳

what...

That looks sick!

Love it ! ♥️

based

Rad

w t f

DOOM continues its sacred duty of making every rendering technique prove itself 😂

OK, that's just wild.

OG Doom was incredible and John C and John R et al. were fantastic.

so cool

sparkjs is webgl ryt?

traditionally yeah. Although currently doing porting work to webgpu for some cases.

this is mindblowing! all splats... 🤯

Why not port the voxel sprites to this

Wow

is there a link to try it?

Here ya go:

fascinating
