Show HN: Gaussian Splat of a Strawberry

13 hours ago (superspl.at)

The Setup:

https://i.imgur.com/o0hgybh.jpeg

https://i.imgur.com/mcNiomp.jpeg

https://i.imgur.com/vIjw6pc.jpeg

https://i.imgur.com/nzOwmSC.jpeg

I built PlayCanvas in 2011 to power video games. Here we are in 2026 and it's powering strawberries.

Wow this is a time killer... ended up here: https://superspl.at/scene/ff1d0393 beautiful!

  • That one has a strange rendering error for me, the trees and horizon are in front of the mill building and the exterior isn't properly rendered unless you are in orbit mode. But my mind was a little blown when i discovered that I could walk up the stairs. It needs shift to run!

    The scene desperately needs some clipping on the boundaries. If you use an app like Scaniverse, you can add a bounding box to cull far away points which are often poorly reconstructed.

    If you have a newer iPhone with a LIDAR scanner, highly recommended. You can make dolls-house renderings of your house or garden which is surprisingly useful for planning and measuring walls/features.

  • It’s amazing this runs perfectly smooth on my iPhone 12 mini

    That is indeed a very cool scene being about to wander around and still have decent resolution

    • Ah the timeless joy of falling through the floor geometry.

      Seriously though - it's breathtaking.

      The first guy who figures out the bridge between splats and dynamism - animation, editing, responsiveness - is going to be one of the immortals of 3d design.

      9 replies →

I read [1], but I still don't quite know what I'm looking at. My guess is a 3D model reconstructed from lots of detailed pictures?

[1] https://en.wikipedia.org/wiki/Gaussian_splatting

  • Lots of translucent blobs composited to produce the appearance of a strawberry.

    There is no mesh or model. The visual surface of the strawberry could be made up of blobs spaced far apart physically and not where the surface appears to be.

    This is why they are called radiance fields, they model the light not the geometry.

    Practically the blobs positions/rotations can be constrained to better physically match the geometry of a strawberry.

    • I'm not sure i agree. The blobs are exactly where the surface appear to be because they are constrained by multiple viewing angles.

      Otherwise the splat would fall apart as soon as the viewing angle is changed slightly (Which it absolutely does in many examples on supersplat, you cannot really create an out of distribution view with 3GS, it's not magic)

      1 reply →

  • Others have provided details about how it works. I suggest zooming way in on that image and you'll start 'breaking though' the surface and that'll help you get an idea of how it works. Important thing is there is no defined geometric surface ("mesh"). Also important to know is that it's very, very hard to get a good splat without taking a ton of photos at different angles. It's also really, really easy to create a crappy looking splat. But when it's done right, it's a marvel

    • I don't know, there's plenty of models these days that generate good splats just from objects at home.

      I took maybe 10 pictures of a model I built and threw it at my 3060 during dinner and it came out quite nice.

    • When you say its very very hard to create a good splat, what do you mean? And what is good? I would say that strawberry is very detailed and its a good splat. I also kind of like the way some of the 'rougher' splats look. I feel like they'd work well in a car racing simulator.

If you just see a blurry image and nothing loads or happens, check the javascript console if it says "WebGL not supported"

Beautiful.

What I love about gaussian splats is the way they degrade - instead of a hard cutoff or LoD changing spheres into cubes etc., they get increasingly "dreamy" - the basic idea is still there, just less detailed.

Take for example this scene:

https://superspl.at/scene/e721ea7c

If you navigate closer to the trees, things around you become blurry - as if the very fabric of reality unraveled.

  • I don't know anything about them but it's a cool effect. At least on this strawberry, you're not zooming in but rather traveling closer. I don't see the increasing (made up) detail you'd expect from a zoom, we sort of pop through the skin into an invented interior.

  • Yeah, it's an incredibly cool effect. Reality breaking down into fog and frosted glass and paint smudges and slivers of northern lights and all the dandelion fluff. Even navigation becomes harder and less predictable as coherence recedes.

    This feels so much closer to how minds must store and process spatial information than the usual 3D models do.

  • its funny that sky features like clouds and blue patches end up being fit very close to ground level because there isn't a difference in perspective to cue in the algorithm that the skybox should be tall, I wonder if there is any way to incorporate the fitting algorithm with simultaneous lidar data about true distances of things to allow scenes to be viewed from further up

Also interesting: https://github.com/apple/ml-sharp

Apples model to generate Gaussian splats from a single image. Takes about 30 seconds on an M1 Pro.

It falls apart once you move too much, but for a little side-wiggling or a second-eye view for VR, it's great. And looks a lot better than the old approach of depth map + vertex shaders that I use in https://github.com/combatwombat/tiefling. But ml-sharp has 2.6 GB weights, a bit too big to run in the browser.

As I have learned about Gaussian Splatting just a few weeks ago, I have (perhaps funny/naive/stupid) question: is there any progress or at least theoretical chance to have dynamic lighting?

  • out of the box, I imagine that surfaces can be lit, but probably not shadowed correctly. (structures aren’t solids, more like particles in 3d space)

    it could look like the real-time lighting of an old game engine on rather modern assets. (quake 2-3 era)

    or perhaps some "occlusion pre-pass" could be done to create a voxelized sparse volume from the splats that set a "voxel opacity value" for each to absorb light? (not far from how prebaked GI works nowadays)

    note: not an expert on rendering, just a nutjob that did stuff in opengl in the old days.

    • There can be some issues with shadowing yeah, especially if you render with splatting/rasterization, but its fine if you raytrace I think.

Just wow!

As I scrolled through the website, I was even more impressed with this one though!

https://superspl.at/scene/c67edb74

  • This one keeps crashing the browser after it reaches 100%. Safari/iOS, iPhone 13. I was able to navigate and use a few of the other ones linked to from the comments, though. Curious.

  • I just wanted to do a quick size comparison...

    If I'm reading Chrome right, that's 171 MB, for the website, and the data.

    If I'm doing the math right, that's 40 seconds worth of the bandwidth from Netflix, at its highest rate.

  • Beautiful and quite neat to 'walk' up into the ceiling and look down. Feels like you're either quasimodo or God, depending on how nuts you are.

It definitely looks impressive.

But something looks off: the red area around the "seeds" is pushed towards the center of the strawberry - or that at least the outer most layer is somewhat transparent and some deeper layers are visible.

This is like a beautiful little miniature. It's cool to see gaussian splatting applied to a detailed small thing versus a big scene.

I have a question about perhaps the most boring aspect of this strawberry: the license. you write, "You can download it under CC BY license, but attribution is appreciated rather than required." IANAL, but I'm pretty sure you can't license your work CC-BY and then waive the BY requirement in the description. Rather, you'd have to license it with something more permissive like CC0 and request attribution if you want attribution to be optional. Is that right?

  • I'm pretty sure it's allowed, just as saying "do what you want with it" is an informal license, it's just a little pointless.

  • It's their content. They can do anything they like.

    Sort of. There are countries like France where attribution rights are fundamentally inalienable, and the author can always demand attribution, even after forever waiving the right to attribution. But in the US, the party who benefits from a contractual provision can generally choose to ignore or forfeit that provision. Whether it's still called the "CC BY" after that is debatable, since the whole point is attribution, but licensing by the CC BY and immediately waiving that requirement seems legitimate to me.

I'm really interested to see what folks can do with animated Gaussian splats: https://youtu.be/X8yRlA7jqEQ?si=dXeHa03jO7MTBNLA

The filesize of a 3d animated splat is seemingly very small, and the method enables ~arbitrary FPS. But it seems the setup required to record it is still huge and expensive, which limits its usefulness.

Even with that there are some interesting use cases, eg. I'd love to be able to watch concerts this way, and freely move around the stage and crowd from any angle.

Noting the permissive license, could we be witnessing the birth of a new Utah teapot or Sponza atrium?

  • Oh, that would be amazing! The photos are also available and some people definitely take it for a test ride. However.. This dataset with the stacking is far from generic.

There is a faint sensation of translucency, I wonder if that's an artefact of the process, or if it's the actual optics of the surface layer if the strawberry...

  • It's an artefact unfortunately. Gaussian splats have no concept of refraction and have a hard time dealing with reflection. Highlights, usually so so. Something I always wrangle.

    • I wonder if that is somehow related to how you seem to have very strong studio light for the subjects? Somehow the bright light penetrating deeper into the material or something like that

      1 reply →

  • Well, at certain angles you actually get very noticeable gaps in the strawberry that are visible when rotating it, but almost invisible when static. I think it's mostly due to that.

For those unfamiliar with Gaussian Splatting: <https://en.wikipedia.org/wiki/Gaussian_splatting>.

(I'm ... still not sure what I'm looking at on TFA, and whether or not my browser configuration fails to fully present the site as intended.... OK, if all you're seeing is a blurred image of a strawberry, yes, you'll want to enable a bunch of JS resources. I'm using uMatrix, several hosts must be enabled.)

  • I like to think of Gaussian Splatting as a stage full of improv actors who are iteratively/concurrently filling details in regions down to pixels until the full picture is painted.

Can you elaborate why you chose slang-splat over let's say Lichtfeld studio? How does it compare to the other splat-training tools?

  • I usually use PostShot.. but the quality was not very good. I want to try LichtFeld but my Graphics Card has too little memory.. so I reached out on twitter, some people ran tests and Mykhailo got some better quality out of it so I took his training. You can d/l the COLMAP dataset for free and try yourself.

My intuition is that in theory focus stacking should not be necessary as preprocessing step for 3dgs (or photogrammetry). Does anyone know if there is any recent developments in this regard?

Focus stacking generally is not perfect process and can lead to artifacts/errors and I'd imagine those can then compound when stacked images are used for 3dgs. Also the image focus actually provides some depth data in itself that could be useful?

  • This is an interesting question. There has been some attempt to model the camera better than just a pinhole camera, that could work. https://dof-gaussian.github.io/ https://github.com/leoShen917/DoF-Gaussian

    My take.. at a macro scale, the dof is usually so small, that it's hard to get a reliably track. So you'd need some sort of way to tell that these stacked photos belong into a series, and then you sort of are doing focus stacking :-) I do think the alignment algorithm could be improved. Maybe the approaches I linked could be used to make a much more robust focus stacking algorithm, that also corrects for 3D geometry. That would be really cool!

  • If you don't focus stack and try to train on partially unfocused images, the optimizer will try to match the rendered view to be also partially unfocused.

    You would have to mask out the blurry areas for each image. I guess one could just implement a feature where the optimizer only optimizes gaussians within the sharp distances relative to the camera.

    • Other way of looking at the question is if you could make focus stacking better by using the full multi-view dataset? Afaik focus stacking essentially does depth estimation so it seems like multiple views would help with that.

      Another way would be some kind of 4d GS where one dimension is the focus distance. But I'd guess the renders would inherently have shallow depth then, which is less useful usually.

      1 reply →

I know feelings about AI are mixed. But when AI can dream up gaussian splats in real time, from a prompt, and do refinement as you get closer to things... That's going to be pretty bonkers.

  • That's kinda what NERFs are (neural radience fields). They actually preceeded this Gaussian story, with Gaussians coming in and outperforming them. Maybe they'll merge later for something even better, I don't know enough about them.

  • I could see a kind of fun game / design tool / worldbuilding where you get a blurry world and you describe what you are seeing, and it comes into focus. The game world, mechanics, aesthetic, and playstyle build as you form your view. A sort of fog of war meets rorschach game.

  • This will be the future of a class of 3d Game. the prompt may not be text however.

    An input of a kind of schematic representation of what the designer wants would be better. It may resemble a storyboard or a collection of organised notes that large projects tend to already use.

    Fully generative could probably do some cool things, but people will still want to bring their peronal vision to life.

    • Curious, why wouldn't the future be a full world model like Google's Genie? It just renders every pixel so someone could still make their vision come to life via a prompt too.

      1 reply →

    • Yeah, when you describe that, I picture Wave Function Collapse to generate a map schematic... And then a text prompt, and some style photos the designers want it to match.

Someone: Please combine microscopy with gaussian splatting.

  • This was also my first thought when I zoomed in into the strawberry. I wonder if you can achieve a microscope like effect with a more suitable setup. E.g. better lighting, zoom, lens, etc.

    • I have done 2x macro (an ant).. and want to try 5x.. but as you get closer, the depth of field becomes really shallow. You can do focus stacking but you risk that the individual areas in focus are less ideal aligned and the tracking can't make any sense out of the geometry anymore.

I tried making one, but I couldn't make through the camera position tracking bit, software was super unintuitive. Very interested in gaming applications for this tech, but still waiting for it to be more approachable from a layman's point of view.

  • One thing you can do with this that works quite well is use it to "decrop" (widen the viewing angle) of a video. This is very useful for stabilization which usually involves cropping. Here's an example: https://x.com/i/status/2051504427287404568

    Once they get quicker to train, I expect this to be a popular use of them

Does anyone know if it's already possible to build gaussian splat of the person that moves/rotates from the single camera? (I.e. to use sequence of frames to reconstruct occluded parts of the body for other frames)

  • I watched this 1 month old video two days ago:

    https://youtu.be/X8yRlA7jqEQ

    It kinda splatted my mind.

    As I understand it, Gussian Splats aren’t a method of constructing missing data in the sense you’re asking here.

    But there are other, well established, methods of generating missing data in convincing manner, that are beyond my field of expertise or interest to be able to repeat here.

    With the added benefit that if I’m wrong, being wrong can be a great way to spur discussion 8)

Looking at all the outdoor scenes that you can walk around, I wonder how long until we start seeing this in places like Google Maps/Earth, as a replacement for the low-res 3D renderings we have now.

I guess the number of samples required to generate a GS is the constraint now, but maybe that will get solved.

I’m impressed by Gaussian Splatting and I love these kind of demos, but I have a noob question - can they respond to lighting?

  • Not traditional Gaussian splats since they have their lighting baked in but there are alternate forms that have the ability to do so but largely in academia or very specific use cases

From the link: "Shot from 90 perspectives, 88 focus stacked images each. Nikon Z8, full frame, f/7.1, exposure 1/160, ISO 100, Laowa 180mm macro lens, with LED light and bluescreen." Insane!

  • And it only takes 20 Minutes to shoot all 7920 photos, the Z8 is crazy fast.

    • i made some decent splats (admittedly much lower quality than this) by taking video with my iphone13 mini and then chopping it up into individual frames via ffmpeg

You might want to throw that one away :)

That new Laowa 180mm macro lens is amazing. So sharp, free of chromatic aberrations, compact, and I like the long working distance and reduced perspective distortion that the 180mm focal length offers.

How did they decide what the inside of the strawberry looks like? Because that seems very incorrect.

  • The flesh of the strawberry is very slightly translucent. By taking images from many angles, you can derive some information about the interior. This is not a separate step, it is simply the optimizer finding splats that contribute the right amount of color and light at various viewing angles. Of course those splats aren’t really going to look right to anyone who has ever eaten a strawberry, because they are only derived from the input images and not your past memories of a real strawberry.

    You’ll also see the same type of problems in any incomplete part of any scene. Go poke around any of them and you’ll find places where there wasn’t enough information to make a satisfying reconstruction. For example, the back of the moon <https://superspl.at/scene/2ac8f423>, the fridge in the coffee shop <https://superspl.at/scene/6a0c3ccf>, underneath the footbridge in the forest <https://superspl.at/scene/23ebe85c> (or indeed anything in the distance), etc, etc.

What happened to the bottom of that poor strawberry?

  • It was mounted at the bottom.. and I can't quite reach it with my camera. Might have to try some two pass way.

    • I wonder would a good, sharp needle and thread make for good mounting for a soft object like this? Thread the needle, pass it right through the strawberry and the secure the thread on something above and below. As long as the strawberry doesn't slide down the thread (hopefully a strawberry is light enough friction would hold it in place!)

      Anyway, very cool splat, fair play

      1 reply →

  • Gaussian splat casualty. The bottom looks like partially missing from the reconstruction.

    • When you cut the splat in half, result is either fuzzy fog or sort-of fibrous crystals. As depicted here.

Gaussian splats look really good from a distance, but as soon as you zoom in, they really fall off a cliff :/

Can you show the setup?

(Can we do a Gaussian Splat of the setup of the photograph for the Gaussian Splat of the Strawberry?)

I want some math Phds to sit down with the Corridor Crew guys and figure out how to make Gaussian Splat reconstruction way better, the way they came up with CorridorKey.

Word of warning to mobile users, this website completely crashed my Firefox instance on Android.

How can I start creating Guassian Splat of my environment with my 360 camera? Is it possible to do that with local software?

Imagine if we start designing GPUs around this technology as opposed to vectors. Imagine what voxel engines would look like. Would love a simulated experience or a small scale that theorizes about this.

What? KIRI Engine makes splats. I always wondered what 3DGS might mean.

Yes. I knoweth what "splats" are: They are splats of fuzzy blobs on the display surface.

A Youtuber that records jookin (a mid-South form of dance) uses Gaussian splats for his videos to bring the dancers out into the forefront and hold center stage, it's a neat trick.

https://www.youtube.com/watch?v=k0MGoFaIiWs - WARNING - heavily adult lyrics and a loud starting "MOTHERFU*AAAAAAS" right off the top.