Can I run around with my phone, and capture some Gaussian Splats of... grass... bushes... dirt... And then select one-meter square patches of land... and one-meter cubes of spots with bushes... And then make a "Minecraft-looking" world, repeating the grass block all over the place, with occasional dirt and bushes? I'm guessing I'd need some pretty beefy hardware to render thousands of blocks...
Show HN: Spark, An advanced 3D Gaussian Splatting renderer for Three.js
81–90 of 90 posts
Re: Show HN: Spark, An advanced 3D Gaussian Splatting renderer for Three.js
#82Cool work, but I have to say the performance is pretty bad in Firefox on my laptop with an Nvidia RTX A3000 GPU. There are enough shader cores here to cause first degree burns.
Re: Show HN: Spark, An advanced 3D Gaussian Splatting renderer for Three.js
#83Amazing stuff! Do you foresee this project getting a Web Components API like A-Frame and Google's component ( https://modelviewer.dev/ )?
Re: Show HN: Spark, An advanced 3D Gaussian Splatting renderer for Three.js
#84Earlier quoted context omitted.
How much of the huge file size is because you need tons of splats to simulate a hard surface? Conceptually the splats seems flawed because gaussians don't have hard edges - they literally go to infinity in all directions, just at vanishingly small densities. So practically everybody cuts them off at 3 sigma or something, which covers 99.7% of the volume. But real-world objects have hard edges, and splats don't. Would…
It's an interesting idea, and with spark you could test this by adjusting the parameter maxStdDev to control how far out it draws the splat. I agree with you though that in general 3DGS is a worse representation for hard, flat, synthetic things with hard edges. But in the flip side, I would argue it's a better representation for many organic, real-world things, like imagine fur or hair or leaves on a tree... These ar…
I imagine it's pretty complex to take the raw scan data and generate 3dgs. Are these algorithms simple & standard, or do they take a fair amount of tuning & tweaking to do a good job? Adapting these to work well with hard-edge ovals seems like it would take some work, and a lot more work to get them to output a mix of ovals & fuzzy blobs. But if you could do that, I agree the combination would be amazingly expressive.
Re: Show HN: Spark, An advanced 3D Gaussian Splatting renderer for Three.js
#85What's the difference in this and and .obj render? Does gaussian produce a different format?
Re: Show HN: Spark, An advanced 3D Gaussian Splatting renderer for Three.js
#86Earlier quoted context omitted.
We are purposefully trading off some sorting precision for speed with float16, and for scenes with large Z extents you'd probably get more Z-fighting, so I'm not sure if I'd recommend it for you if your goal is max reconstruction accuracy! But we'll likely add a 2-pass sort (i.e. radix sort with a large base / #buckets) in the future for higher precision (user selectable so you can decide what's more important for yo…
You might want to consider using words (16 bit integer) instead of halfs? Then you can use all the 65k value precision in a range you choose (by remapping 32bit floats to words), potentially adjust it every frame, or with a delay.
Re: Show HN: Spark, An advanced 3D Gaussian Splatting renderer for Three.js
#87Earlier quoted context omitted.
It's an interesting idea, and with spark you could test this by adjusting the parameter maxStdDev to control how far out it draws the splat. I agree with you though that in general 3DGS is a worse representation for hard, flat, synthetic things with hard edges. But in the flip side, I would argue it's a better representation for many organic, real-world things, like imagine fur or hair or leaves on a tree... These ar…
Cool - thanks for explaining that. I totally see how each has its place. I imagine it's pretty complex to take the raw scan data and generate 3dgs. Are these algorithms simple & standard, or do they take a fair amount of tuning & tweaking to do a good job? Adapting these to work well with hard-edge ovals seems like it would take some work, and a lot more work to get them to output a mix of ovals & fuzzy blobs. But if…
3DGS is still a rapidly evolving research field, but the "baseline" is pretty much standard these days.
Re: Show HN: Spark, An advanced 3D Gaussian Splatting renderer for Three.js
#88I'm still highly skeptical of gaussian splatting as anything more than a demo. The files are too large. The steak sandwich is 12meg (as just one example) There was a guassain splat based Matterport port clone at least year's siggraph. To view a 2 bedroom apartment required streaming 1.5gig Cool demo
https://blog.playcanvas.com/playcanvas-adopts-sogs-for-20x-3...
Re: Show HN: Spark, An advanced 3D Gaussian Splatting renderer for Three.js
#89Earlier quoted context omitted.
One component of my hobby web app project is a wavetable. Below are two examples of wavetables. I want it to not tax the browser so that other, latency sensitive, components do not suffer. Would you have any suggestions on what JS/TS package to use? I built a quick prototype in three.js but I am neither a 3D person nor a web dev, so I would appreciate your advice. Examples: - https://audiolabs-erlangen.de/media/pages…
Personally, I wouldn't try to do DSP pipe code in VM. 1. Use global fixed 16bit 44.1kHz stereo, and raw uncompressed lossless codec (avoids gpu/hardware-codec and sound-card specific quirks) 2. Don't try to sync your audio to the gpu 24fps+ animations ( https://en.wikipedia.org/wiki/Globally_asynchronous_locally_... ). I'd just try to cheat your display by 10Hz polling a non-blocking fifo stream copy. ymmv 3. Try sta…
Re: Show HN: Spark, An advanced 3D Gaussian Splatting renderer for Three.js
#90PartCAD can export CAD models to Three.js. The OCP CAD viewer extension for build123d and cadquery models, for example, is also built on Three.js. https://github.com/bernhard-42/vscode-ocp-cad-viewer
The OCP CAD viewer could optionally use this Gaussian splatting renderer (because it's also already built on Three.js)