TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Show HN: Real-Time 3D Gaussian Splatting in WebGL

309 pointsby antimatter15over 1 year ago

21 comments

naavisover 1 year ago
This is really cool! The control scheme is confusing though. Instead of the typical WASD for moving and using the mouse to look around, dragging the mouse moves forwards and backwards and orbits around some point, A and D strafe, while W and S look up and down.<p>EDIT: Looks like a full list of controls is in the readme: <a href="https:&#x2F;&#x2F;github.com&#x2F;antimatter15&#x2F;splat#controls">https:&#x2F;&#x2F;github.com&#x2F;antimatter15&#x2F;splat#controls</a>
评论 #37475377 未加载
评论 #37474326 未加载
评论 #37476879 未加载
评论 #37493989 未加载
评论 #37474461 未加载
Lichtsoover 1 year ago
Really cool, I am also working on a port of gaussian-splatting [0] but to WebGPU.<p>Like all the other implementations I have seen so far, this also makes the same mistake when projecting the ellipsoids in a perspective: First you calculate the covariance in 3D and then project that to 2D [1]. This approach only works with parallel &#x2F; orthographic projections and applying it to perspectives leads to incorrect results. That is because perspective projections have three additional effects:<p>- Parallax movements (that is the view plane moves parallel to the ellipsoids) change the shape of the projected ellipse. E.g. a sphere only appears circular when in center of the view, once it moves to the edges it becomes stretched into an ellipse. This effect is manually counter balanced by this matrix I believe [2].<p>- Rotating an ellipse can change the position it appears at, or in other words creates additional translation. This effect is zero if the ellipse has one of its three axes pointing straight at the view (parallel to the normal of the view plane). But, if it is rotated 45°, then the tip of the ellipse that is closer to the view plane becomes larger through the perspective while the other end becomes smaller. Put together, this slightly shifts the center of the appearance away from the projected center of the ellipsoid.<p>- Conic sections can not only result in ellipses but also parabola and hyperbola. This however is an edge case that only happens when the ellipsoid intersects with the view plane and can probably be ignored as one would clip away such ellipsoids anyway.<p>The last two effects are not accounted for in these calculations in any of the implementations I have seen so far. What would be correct to do instead? Do not calculate the 3D covariance. Instead calculate the bounding cone around the ellipsoid which has its vertex at the camera position (perspective origin). Then intersect that with the view plane and the resulting conic section is guaranteed to be the correct contour of the perspective projection of the ellipsoid.<p>[0]: <a href="https:&#x2F;&#x2F;github.com&#x2F;graphdeco-inria&#x2F;gaussian-splatting">https:&#x2F;&#x2F;github.com&#x2F;graphdeco-inria&#x2F;gaussian-splatting</a> [1]: <a href="https:&#x2F;&#x2F;github.com&#x2F;antimatter15&#x2F;splat&#x2F;blob&#x2F;3695c57e8828fedc2360800da2e572526632ea35&#x2F;main.js#L558C1-L587">https:&#x2F;&#x2F;github.com&#x2F;antimatter15&#x2F;splat&#x2F;blob&#x2F;3695c57e8828fedc2...</a> [2]: <a href="https:&#x2F;&#x2F;github.com&#x2F;antimatter15&#x2F;splat&#x2F;blob&#x2F;3695c57e8828fedc2360800da2e572526632ea35&#x2F;main.js#L578-L582">https:&#x2F;&#x2F;github.com&#x2F;antimatter15&#x2F;splat&#x2F;blob&#x2F;3695c57e8828fedc2...</a>
评论 #37473390 未加载
评论 #37473703 未加载
评论 #37477622 未加载
评论 #37477481 未加载
评论 #37473531 未加载
bluescrnover 1 year ago
When you zoom out there&#x27;s lots of visible polygon edges that don&#x27;t look like they should really be there, as if it&#x27;s trying to draw soft &#x27;blobs&#x27; but the texture coords aren&#x27;t quite right? Is that a bug or an intentional part of the technique?
评论 #37472810 未加载
jansanover 1 year ago
So far I have only seen gaussian splatting used on photographic data. Would it make sens to use it for other graphics data, too. Or in other words, does it have potential to be used in games?
评论 #37473426 未加载
评论 #37472981 未加载
gsuuonover 1 year ago
Would this technique work for video? The readme of the inria work[1] seems to imply a model is trained per static scene, does that rule out video?<p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;graphdeco-inria&#x2F;gaussian-splatting">https:&#x2F;&#x2F;github.com&#x2F;graphdeco-inria&#x2F;gaussian-splatting</a>
评论 #37475084 未加载
andrewstuartover 1 year ago
What am I looking at?
评论 #37472654 未加载
评论 #37472526 未加载
lwansbroughover 1 year ago
Does this use the method proposed by Kerbl and Kopanas at SIGGRAPH 2023?<p><a href="https:&#x2F;&#x2F;repo-sam.inria.fr&#x2F;fungraph&#x2F;3d-gaussian-splatting&#x2F;" rel="nofollow noreferrer">https:&#x2F;&#x2F;repo-sam.inria.fr&#x2F;fungraph&#x2F;3d-gaussian-splatting&#x2F;</a>
评论 #37473438 未加载
gabereiserover 1 year ago
This is beyond cool. Point clouds are one thing but this… this is amazing. Kudos and great job. It even runs on my work Lenovo at 60fps.
评论 #37476757 未加载
crubierover 1 year ago
Wow this is insanely cool.<p>If you make it work within ThreeJS, you&#x27;re going to leave a trace in the history of 3D on the web with that stuff!
klysmover 1 year ago
I&#x27;ve never experienced this set of mouse controls for a 3D view ever before and was highly confused for a bit.
adfmover 1 year ago
Very impressive! Curious what the frame rate would be like for stereoscopic rendering of the same scene on the same hardware. Are there optimizations to be had past the halfway mark?
评论 #37476912 未加载
matt3210over 1 year ago
Fancy! I like that on mobile I can drag to move around!
cchanceover 1 year ago
Gotta try on a pc for some reason on iOS the cloudiness feels more like nerf than Gaussian to me for some reason, gotta try it on pc later
smusamashahover 1 year ago
Is it possible to increase the number of points (resolution) with some setting? I want to see more refined view on a higher end machine.
crtasmover 1 year ago
Click through to the github for a list of the controls (I didn&#x27;t think to try spacebar!) and links to other example scenes.
tmilardover 1 year ago
Gaussian Spatting is the new sensation of the sumer in the 3D Scanning Field. Will it live to its expectation ?
teucrisover 1 year ago
Wow. I was literally just working on my own implementation. You beat me to it! Great work!
jherikoover 1 year ago
why the hell is it that anyone who makes these &quot;clever&quot; demos provides the world&#x27;s shittiest camera that adds unwelcome rolls.<p>late 90s bedroom me is shaking his head.
评论 #37479544 未加载
评论 #37478865 未加载
q_andrewover 1 year ago
Can&#x27;t wait to pull this up on my desktop tomorrow.
msk-lywennover 1 year ago
Runs fine on my 2016 iPhone SE. kudos
agysover 1 year ago
Last sentence of the readme…!