#PointCloud splats

1 messages · Page 1 of 1 (latest)

granite onyx
#

Hey all, I've been working on my first foray into shaders by creating a splatting solution. If you've played Dreams on PS4, then you have an idea of what I'm going for here. Instead of using SDFs (I hope to get to that at some point), I figured it'd be more useful for me to be able to use models from my existing model collection. 🙂

#

First pass at proper splats

#

Updated to use brushes (splat textures)

#

Today's task for my splatting tool was to reduce the draw calls by packing the brushes into an atlas and have the shader read from that instead. Had to fight silly little issues along the way; splats rendering artefacts due to texture compression, insufficient padding, texel sampling issues etc., but I've learned a lot too. Also have custom editor for brush selection. 🙂

grave torrent
#

whoaaah that looks really cool

granite onyx
#

Thanks. The main proof of concept works and validates my idea, which is great, but useless unless I can improve performance. So my major focus next will be on ensuring everything is being run on the GPU and then developing a LOD based solution for the point clouds.

grave torrent
granite onyx
grave torrent
#

oh ok

granite onyx
#

I'm also thinking of trying to make a simple SDF modeling tool for Unity that'd then output meshes to use with the above splatting tool. Something simple is all, just a bit different from eg. Pro Builder so you can use it for any kind of game (and not one bound by rendering realtime SDFs). Mudbun doesn't support Mac which is my main use-case.

granite onyx
#

Started on this 🙂

granite onyx
granite onyx
grave torrent
granite onyx
#

Finally got SDF previews working (using raymarching) and a SDF->Mesh bake 🙂

granite onyx
#

Adding volume sampling for the mesh splat tool

grave torrent
#

but really cool

#

does it like generate a mesh on the points?

granite onyx
#

There's two different tools here. The SDF Modeler is using SDF and raymarching for previewing. Mesh generation is done with marching cubes.

#

The other tool is the splat tool (the first one shown in this thread and the last screenshot above). This works with regular meshes by sampling them (building a point cloud) and creating textured splat at each point. The density of this point cloud can be adjusted by the user. The point cloud was initially surface sampled only, but now I'm adding volumetric sampling.

granite onyx