[HN Gopher] Gaussian Splatting Alternative: WebGL Implementation...
___________________________________________________________________
Gaussian Splatting Alternative: WebGL Implementation of Nvidia's
SVRaster
Author : samuelm2
Score : 24 points
Date : 2025-04-07 22:40 UTC (2 days ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| samuelm2 wrote:
| Hi all! Several weeks ago, Nvidia released a voxel-based radiance
| field rendering technique called SVRaster. I thought it was an
| interesting alternative to Gaussian Splatting, so I wanted to
| experiment with it and learn more about it.
|
| I've been working on a WebGL viewer to render the SVRaster Voxel
| scenes from the web, since the paper only comes with a CUDA-based
| renderer. I decided to publish the code under the MIT license.
| Here's the repository: https://github.com/samuelm2/svraster-
| webgl/
|
| I think SVRaster Voxel rendering has an interesting set of
| benefits and drawbacks compared to Gaussian Splatting, and I
| think it is worth more people exploring.
|
| I'm also hosting it on vid2scene.com/voxel so you can try it out
| without having to clone the repository. (Note: the voxel PLY file
| it downloads is about 50MB so you'll probably have to be on good
| WiFi).
|
| Right now, there's still a lot more optimizations that would make
| it faster. I only made the lowest-hanging fruit optimizations. I
| get about 60FPS on my Laptop 3080 GPU at 2k resolution, and about
| 10-15 FPS on my iPhone 13 Pro Max.
|
| On the github readme, there's more details about how to create
| your own voxel scenes that are compatible with this viewer. Since
| the original SVRaster code doesn't export ply, theres an extra
| step to convert those voxel scenes to the ply format that's
| readable by the WebGL viewer.
|
| If there's enough interest, I'm also considering doing a
| BabylonJS version of this
|
| Also, this project was made with heavy use of AI assistance
| ("vibe coded"). I wanted to see how it would go for something
| graphics related. My brief thoughts: it is super good for the
| boilerplate (defining/binding buffers, uniforms, etc). I was able
| to get simple voxel rendering within minutes / hours. But when it
| comes to solving the harder graphics bugs, the benefits are a lot
| lower. There were multiple times where it would go in the
| complete wrong direction and I would have to rewrite portions
| manually. But overall, I think it is definitely a net positive
| for smaller projects like this one. In a more complex graphics
| engine / production environment, the benefits might be less clear
| for now. I'm interested in what others think.
| corysama wrote:
| Great work! They'd love to see this over in
| https://old.reddit.com/r/GaussianSplatting/ :)
|
| In your observation, is this technique restricted to static
| geometry? Or, is there a clear path to rendering a skinned
| animated character using SVRaster?
| samuelm2 wrote:
| Right now, its pretty restricted to relatively static
| geometry. You can do simple transforms like scaling,
| rotating, etc to groups of voxels, so maybe down the line
| you'd be able to animated them!
| jchw wrote:
| Very interesting. I was surprised to get a relatively decent
| 40-60 FPS screwing around on the demo for a few minutes on my
| Pixel 9 in Fennec F-Droid. I am even more surprised that it
| performed better than an iPhone in any conditions, but who
| knows what exactly is playing into that.
|
| Regarding AI coding assistance... Yeah, I imagine it would be
| great for someone who wants to start hundreds of small
| projects, because it's pretty cool what you can do in a few
| minutes, but it really doesn't take many days before you're
| much better off doing most things yourself. I guess this state
| of affairs is relatively good for our job security, but a real
| bummer from the "I want to harness the power of hundreds of
| digital junior devs to do my bidding" perspective. Still
| something I'd consider solidly useful and not _just_ a load of
| hype though.
|
| BTW, it seems a bit senseless to draw frames when there is no
| interaction since the geometry is static. Maybe it wouldn't be
| a bad idea to stop drawing when there are no active
| interactions.
| lawlessone wrote:
| Bit of a related shower thought here.. but solutions that require
| NVidias high end hardware are always going to be the solutions
| NVidia promotes right?
|
| If hypothetically someone figured out some magical algorithm to
| do ray tracing at RTX levels of performance on a CPU, it would
| severely hurt them right? (Hurt them in terms of GPU market,
| probably a non issue now AI most of their market.)
| thfuran wrote:
| Maybe then the GPUs could finally reach the ray counts needed
| to avoid all the temporal smearing and AI interpolation hacks.
| LegionMammal978 wrote:
| Easy, games will just push for higher
| resolutions/framerates/SFX layers until it can no longer be
| done on a CPU. What Andy giveth, Bill taketh away.
| kevingadd wrote:
| There are plenty of graphics researchers not in NVIDIA's pocket
| cooking up stuff that doesn't require vendor-specific features,
| so I'm not worried that graphics research is being suppressed,
| if that's your theory.
|
| Intel and AMD are both big players with a vested interest in
| promoting the capability of CPUs and promoting the capability
| of non-NVIDIA GPUs, since they sell both. They're big and well-
| capitalized, so if they wanted to they could be operating big
| graphics research teams (whether they are is unclear to me, and
| it's obviously not a 'snap your fingers and you have a big
| graphics research team' situation, but they have the resources)
|
| In some cases if you see CUDA being used for a demo or a
| research project it's just because the alternative stacks kinda
| suck, not because only NVIDIA hardware is capable of doing the
| thing. Researchers aren't necessarily concerned with shipping
| on 99% of consumer machines, so they can reach for the most
| convenient approach even if it's vendor-locked.
|
| I won't be surprised if we see some researchers start targeting
| Apple's platform-locked Metal API in the future since they have
| compelling unified memory offerings with capacities exceeding
| everybody else's.
| Reubend wrote:
| Cool project! Is there a test scene we can see with much higher
| resolution? The current one looks super artificial due to the
| rather chunky voxels.
| carlosdp wrote:
| Awesome! I'm super impressed with SVRaster, glad to see others
| already playing with it too
___________________________________________________________________
(page generated 2025-04-09 23:01 UTC)