Figured out a proper Gaussian Splat -> #VRChat workflow using free software and @michael-moroz.bsky.social's implementation. I'm really happy with the result!
I made a tutorial on my blog if anyone wants to scan the world and create VRChat maps from it!
blog.monsy.monster/gaussian-spl...
18.02.2026 20:50 โ
๐ 8
๐ 1
๐ฌ 1
๐ 0
I just released my video about the engine (and game) I've been working on.
The engine is based on dynamic SDFs, and the video describes how it works and what it makes possible.
Link in the reply!
This is my first YouTube video and it took forever - please repost!
06.01.2026 19:53 โ
๐ 265
๐ 51
๐ฌ 13
๐ 2
Ever seen one of these, and wondered *why* they work? ๐งต
This is a so-called Bitonic sorting network, and the illustrations show the two common ways to implement them. From an implementation point of view the two methods are effectively the same, so which one you pick just comes down to preference.
20.12.2025 00:24 โ
๐ 39
๐ 10
๐ฌ 2
๐ 0
I might make a new blog post on this, but that will take time ๐ช
03.12.2025 04:19 โ
๐ 6
๐ 0
๐ฌ 1
๐ 0
Of course, it has a drawback since its much noisier than RT (but is it a drawback really?), and is much less suited for a gas simulation due to using whole integer particle masses, so they cant fill all space properly.
03.12.2025 04:19 โ
๐ 5
๐ 0
๐ฌ 1
๐ 0
An additional bonus is that since the masses are uints, as long as it doesn't overflow the counter the mass / particle count is preserved exactly. While in reintegration tracking it would have been lost with time due to float imprecision.
03.12.2025 04:19 โ
๐ 3
๐ 0
๐ฌ 1
๐ 0
Reintegration tracking
In this blog post Iโll explain this advection algorithm and how to use it to make advanced fluid simulations like the ones I made, including Paint streams and Everflow.
Before starting, I should give ...
I like this approach significantly more compared to michaelmoroz.github.io/Reintegratio... since without much velocity averaging this can actually preserve angular momentum significantly better. Not to mention the you get subpixel details without aliasing due to the grid.
03.12.2025 04:19 โ
๐ 2
๐ 0
๐ฌ 1
๐ 0
As long as the particle density is lower than 1.0 particle per cell, you are guaranteed that no resampling happens, which means it will behave exactly like a normal SPH (or anything else) particle sim.
03.12.2025 04:19 โ
๐ 2
๐ 0
๐ฌ 1
๐ 0
You could also call this particle resampling cellular automaton, i.e. it tries to resample the actual particle count to keep it lower than the max 2 per grid cell (so that a grid only simulation is possible)
03.12.2025 04:19 โ
๐ 2
๐ 0
๐ฌ 1
๐ 0
Decided to go back to making Shadertoy fluid sims for for a bit.
This time I improved my particle clustering cellular automaton SPH fluid sim to support multiple species particle merging and splitting. Also some fine tuning of the physics.
shadertoy.com/view/tfyyWD
03.12.2025 04:19 โ
๐ 37
๐ 7
๐ฌ 1
๐ 0
I am making clouds for @skipsy.ca's new VRChat world. The clouds render faster than the mountains lol
#VRChat
08.11.2025 20:49 โ
๐ 44
๐ 11
๐ฌ 2
๐ 0
Yeah I was aware of iResolution, I just never used the z component, but I guess I should still add it for compatibility.
Mouse zw has no equivalent in Compute toys, so that needs to be added in the first place.
Texture mipmaps for the pass-in/out buffers are not computed unfortunately
20.05.2025 13:51 โ
๐ 1
๐ 0
๐ฌ 0
๐ 0
Of course there are still some minor differences:
* matrix multiplications are not a*b but mul(a,b)
* no GLSL texture types like sample2D / etc
* there are no "Shadertoy" channels, you need to resetup them to use absolute indices of the pass_in/out buffer
11.05.2025 14:37 โ
๐ 3
๐ 0
๐ฌ 1
๐ 0
Slang can be made extremely close to GLSL/Shadertoy style of shaders by using a set of defines and typealiases, I've made a template in compute.toyts just for that compute.toys/view/1947
I also ported my most popular shadertoy using it:
compute.toys/view/1948
11.05.2025 14:37 โ
๐ 24
๐ 2
๐ฌ 1
๐ 0
Compute.toys finally got the Slang compiler integrated, which means its finally time to ditch WGSL ๐๐
I've ported my FFT to it, coding in it is much nicer. compute.toys/view/1922
Should try something with its autodiff next.
05.05.2025 14:24 โ
๐ 20
๐ 2
๐ฌ 1
๐ 0
Faster Mixed Radix FFT
Forked from https://compute.toys/view/1914
Faster version
Made a mixed radix FFT implementation in compute.toys/view/1915
It is neat, but I still wonder how do you properly handle large prime factor size FFT's?
03.05.2025 14:37 โ
๐ 17
๐ 3
๐ฌ 0
๐ 0
I mean its just SPH, its not *that* difficult
24.04.2025 10:55 โ
๐ 1
๐ 0
๐ฌ 0
๐ 0
No, its written by me, that's why I can not answer your question easily.
24.04.2025 10:50 โ
๐ 1
๐ 0
๐ฌ 1
๐ 0
uhhhm, shadertoy?
24.04.2025 10:42 โ
๐ 1
๐ 0
๐ฌ 1
๐ 0
The answer to this will require a whole new blog post I'm afraid...
24.04.2025 10:38 โ
๐ 0
๐ 0
๐ฌ 1
๐ 0
Shadertoy
I've also tested out using it for nontrilinear stuff as well as volumetric integration
shadertoy.com/view/w3sXzf
shadertoy.com/view/t3sXzX
shadertoy.com/view/t3lSzf
23.04.2025 15:44 โ
๐ 5
๐ 0
๐ฌ 0
๐ 0
I've ported my vrchat isosurface ray tracer to shadertoy and added it to my fluid simulation there.
Its probably the fastest multibounce ray tracing for liquids I've made thus far.
shadertoy.com/view/w3sXzs
23.04.2025 15:44 โ
๐ 19
๐ 2
๐ฌ 2
๐ 0
Shadertoy
I posted my own implementation of the trilinear isosurface intersection on shadertoy
2 methods, one is the one from jcgt.org/published/00... and the other one is my own idea of using 4 trilinear samples (can use HW samplers here) to reconstruct the cubic.
www.shadertoy.com/view/WXS3Rm
06.04.2025 17:55 โ
๐ 9
๐ 0
๐ฌ 0
๐ 0
Managed to get Nvidia Flow (PhysX) to compile and run, after initially failing the other week. Was curious for a quick peek now that it's been open sourced (github.com/NVIDIA-Omniv...)
Flow itself isn't CUDA based, but instead uses compute shaders
Some higher level observations in the replies 1/?
06.04.2025 12:40 โ
๐ 34
๐ 7
๐ฌ 1
๐ 0
I've also finally implemented sorting of the simulation particles, gave quite a nice performance boost (around
3-4x)
04.04.2025 19:32 โ
๐ 1
๐ 0
๐ฌ 0
๐ 0
till surprising to me just how fast this turned out to work, my older attempts at ray tracing density isosurfaces were horrifyingly slow, and on top of that less accurate too, as it was just constant step ray marching.
04.04.2025 19:32 โ
๐ 1
๐ 0
๐ฌ 1
๐ 0
The paper was about tracing SDFs but you can apply it to any isosurface of an interpolated 3D volume, like the liquid density.
04.04.2025 19:32 โ
๐ 1
๐ 0
๐ฌ 1
๐ 0
The Nvidia paper from above also shows how to optimize those intersections quite significantly, giving a fast way to get the coefficients of the cubic as well as how to solve it quickly (would be great if it wasn't patented by Nvidia tho heh...)
04.04.2025 19:32 โ
๐ 1
๐ 0
๐ฌ 1
๐ 0