[HN Gopher] GSWT: Gaussian Splatting Wang Tiles
       ___________________________________________________________________
        
       GSWT: Gaussian Splatting Wang Tiles
        
       Author : klaussilveira
       Score  : 83 points
       Date   : 2025-12-03 14:40 UTC (8 hours ago)
        
 (HTM) web link (yunfan.zone)
 (TXT) w3m dump (yunfan.zone)
        
       | abetusk wrote:
       | There's no link to the paper, so I can only infer, but, if I
       | understand correctly, this is a very simple idea: take a single
       | Gaussian splat "tile" and find a cut when two copies are placed
       | near each other and overlapping, using dynamic programming to
       | vary the size of overlap and where the cut should be. Have a
       | variety of cuts to break a uniform tiling (the Wang tiles part)
       | and now you have different tiles with different nearest neighbor
       | constraints that you can use to tile the plane.
       | 
       | Probably a lot of details to be worked out in how to stitch
       | Gaussian splats together but I imagine it's pretty do-able.
       | 
       | I think one of the problems with Gaussian splatting is generating
       | content. You can take a static picture of something but it's hard
       | to know how to use it for interaction. This is a way to generate
       | 3d textured sheets, like sunflower fields, walls, caves, etc.
       | 
       | In my opinion, great idea.
        
         | jayd16 wrote:
         | You could always make cinema quality environments in a
         | traditional pipeline and render the splats offline for later
         | realtime consumption.
        
       | VikingCoder wrote:
       | Everybody Wang Tiles tonight.
       | 
       | But seriously, I didn't realize I wanted this. I was hoping to
       | experiment with just repeating the same tile. This gives me hope
       | that other people will make these techniques approachable.
        
         | slater wrote:
         | > Everybody Wang Tiles tonight
         | 
         | Damn you for putting this ear worm in my head
        
       | Jgoauh wrote:
       | Crazy to see 2 of my niche interests interact. Great idea, you
       | could extent the idea to use example based texture synthesis,
       | such as Image Quilting
       | https://www.merl.com/publications/docs/TR2001-17.pdf
        
       | wiz21c wrote:
       | The gaussian splatting never cease to amaze me. I wonder if it
       | would be OK to proceduraly (not by LLM) generate natural worlds
       | for video games with that...
        
       | michaelmior wrote:
       | The in-browser demo is very cool! It's not clear from the linked
       | page, but the GitHub repo[0] includes links to sample tile
       | datasets that can be used for the demo.
       | 
       | [0] https://github.com/zengyf131/gswt_renderer
        
         | jjcm wrote:
         | Very cool, performance is abysmal at least on my m1 pro mac
         | though - only getting ~2fps.
        
           | jasonjmcghee wrote:
           | It works "fine" on my M4 - didn't check the FPS.
           | 
           | If you hold "Space" you move faster - there were a LOT of
           | settings in the egui pop-up that could probably help...
        
         | jasonjmcghee wrote:
         | Took a while to figure it out, but no mouse looking AFAICT:
         | 
         | WASD for movement, IJKL for looking, Space for "a bit faster"
        
       | jasonjmcghee wrote:
       | This is very cool. I wonder how well it could be combined with
       | Wave Function Collapse (or the Nested variant)
       | 
       | [1] https://github.com/mxgmn/WaveFunctionCollapse
       | 
       | [2] https://nyh-dolphin.github.io/en/research/n_wfc/
        
       | reactordev wrote:
       | Can we get a demo of this with a wind modifier added. My
       | goodness! I can't wait to explore virtual worlds with this kind
       | of grass/foliage detail.
        
       | lawlessone wrote:
       | Is it possible to make them skew(the right word here ?) in some
       | way so that they could appear to blow in a breeze?
        
         | rallyforthesun wrote:
         | Most implementations of 3d gaussian splats are static. They are
         | based on pointclouds and not polygons. As these are captured
         | with images and generated from them, the process has no
         | semantic understanding of its content. There is no technical
         | way to rig each flower or move vertices like in traditional 3d
         | animation. It is mainly a pointcloud with no segmentation.
         | 
         | But there are projects working on the semantic part, which
         | could open a way to animate the detected objects individually
         | in future.
        
           | lawlessone wrote:
           | I i wasn't thinking individual flowers, though that would be
           | nice, but maybe whole tiles somehow
        
             | rallyforthesun wrote:
             | It is possible to import a 3d gaussian splat into houdini
             | and animate it there.
             | https://m.youtube.com/watch?v=3u9SAmr61gA
        
             | semi-extrinsic wrote:
             | For something as simple as this, you could probably just
             | move the splats around with                 (x_hat*sin(y*t)
             | + y_hat*sin(x*t))*exp((z_l-z_h)/2*z_h)
             | 
             | where (x_hat,y_hat) are your basis vectors in the plane,
             | z_l is the local z coordinate (subtract the terrain
             | modifier used to move tiles up/down) , and z_h is the
             | height of a flower.
             | 
             | Or if you want to be more advanced, generate some curl
             | noise and use it as a prefactor instead of x,y inside the
             | sin(). And include the corresponding up-down motion as the
             | stalks are constant length.
        
         | kfarr wrote:
         | Yes just like there are shaders for the same thing with mesh-
         | based grass. This repo already has some animation abilities:
         | https://github.com/sparkjsdev/spark?tab=readme-ov-file#featu...
        
       ___________________________________________________________________
       (page generated 2025-12-03 23:01 UTC)