Morten Vassvik's Avatar

Morten Vassvik

@vassvik.bsky.social

Simulation and rendering nerd. Co-founder and CTO @JangaFX Working on EmberGen and more. Discord: vassvik @vassvik@mastodon.gamedev.place

1,787 Followers  |  1,629 Following  |  691 Posts  |  Joined: 30.07.2023  |  2.0214

Latest posts by vassvik.bsky.social on Bluesky

But I think there's quite a bit of potential if you up the resolution significantly, and possibly pair with a sparse grid as well.

02.08.2025 09:30 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Nice!

I've been thinking of trying more froxel stuff too. Traditionally it's being used at really low resolutions, which only really works for really boring near-homogeneous volumes like fog, and even then it's far from artifact free and they shove a pile of temporal accumulation on top.

02.08.2025 09:30 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

Usually the process of implementing a paper is a bit more involved and convoluted, but this one's probably as direct a mapping as you can get (ignoring the indicing and writing the Desmos formulas from the point of view of one index).

01.08.2025 11:44 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

Simple Desmos 3D implementation of ttnghia.github.io/pdf/Quadrati...: www.desmos.com/3d/857tn8jhjl

Roughly a 5 years old paper by now, but seems awfully relevant still. By a former student of @cemyuksel.com, who I believe is at Nvidia now.

31.07.2025 23:31 β€” πŸ‘ 29    πŸ” 7    πŸ’¬ 1    πŸ“Œ 0
Post image 30.07.2025 00:24 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

πŸ€”πŸ€”

30.07.2025 00:11 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Closed form solution of the first time step of the discretized 1D Diffusion equation given a point source (Kronecker delta)

Closed form solution of the first time step of the discretized 1D Diffusion equation given a point source (Kronecker delta)

πŸ€”

30.07.2025 00:03 β€” πŸ‘ 6    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I'll be in Vancouver for Siggraph in just about two weeks.

Let me know if you want to say hi or meet up. :)

28.07.2025 20:00 β€” πŸ‘ 14    πŸ” 0    πŸ’¬ 3    πŸ“Œ 0
Video thumbnail

Finally, I'm proud to announce that #Illugen 1.0 is available.
If you need to generate assets for special effects, this is the tool for you : Spritesheets, noises, caustics, masks, meshes(including pivot baking) ... and much more to come.
jangafx.com/software/ill... #realtimevfx #techart

28.07.2025 13:48 β€” πŸ‘ 54    πŸ” 12    πŸ’¬ 2    πŸ“Œ 0

Despite all that the results are qualitatively plausible, with the crown splash, droplet shedding at sufficiently high speed impacts, Worthington jet and cavitation as emergent phenomena

20.07.2025 13:25 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Still far from perfect. There's plenty of artificial viscosity, it's not wetting the collider surface (in fact it's non-wetting since the strong surface tension bends the surface the weong way at the edges), any trapped air will eventually be engulfed and replaced by the surrounding liquid.

20.07.2025 13:25 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Video thumbnail

Crown splash test in #LiquiGen.

BBox of the largest splash roughly 448x448x1280 voxels, 88M particles in all cases.

Initial droplet 2cm wide, hits the surface at 1, 2 3 and 4 m/s, respectively.

Pool of water at bottom a 3.6cm tall cylinder of radius 11.10cm

240 Hz, 5 substeps, voxel size 0.5mm

20.07.2025 13:25 β€” πŸ‘ 17    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Look, speaking as a physicist, it is hard for me to put into words how batshit crazy this is.

16.07.2025 04:04 β€” πŸ‘ 1591    πŸ” 259    πŸ’¬ 83    πŸ“Œ 13

Nice, what for?

13.07.2025 06:17 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image Post image Post image

I've attempted to massage it down into several equivalent "forms", depending on whether you prefer working with points, secants, or something inbetween:

12.07.2025 20:35 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

Once you do it becomes a much easier task to try and "inline" and combine all the recursive expressions to a single one. Here's one example:

12.07.2025 20:33 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

Turns out you can very easily "normalize" the spline by a change of variable:

12.07.2025 20:30 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Gets really tedious once you want to add more points though, as there's so many indirections

12.07.2025 20:29 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

There's all sorts of weird things, like t_0 is completely arbitrary and not needed.

The wikipedia formulation is easy enough to set up with Desmos, though:

12.07.2025 20:28 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

I always struggled with really understanding the recursive version cited on the Wikipedia page, which combined with the arbitrary values of the knots (the t_i values) made it really hard for me to really see and understand what's going on.

12.07.2025 20:26 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Video thumbnail

Centripetal Catmull-Rom splines (alpha 0.5) have this neat property where it prevents "loops" from forming.

Uniform CR splines (alpha 0.0) can get into situations where the curve segments loop on itself

Chordal CR splines (alpha 1.0) and up being overly "stiff", but avoids the looping too

12.07.2025 20:22 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
(Centripetal) Catmull-Rom Splines

Spent the last week or so trying to fully understand centripetal Catmull-Rom splines. Reaching the end now. Here's a WIP interactive Desmos link: www.desmos.com/calculator/w...

12.07.2025 20:17 β€” πŸ‘ 13    πŸ” 2    πŸ’¬ 1    πŸ“Œ 0
Preview
Gears – Bartosz Ciechanowski Interactive article explaining how mechanical gears work.

ciechanow.ski/gears/

07.07.2025 21:18 β€” πŸ‘ 9    πŸ” 2    πŸ’¬ 1    πŸ“Œ 0
Preview
Mechanical Watch – Bartosz Ciechanowski Interactive article explaining how a mechanical watch works.

ciechanow.ski/mechanical-w...

07.07.2025 21:17 β€” πŸ‘ 6    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Video thumbnail

🧡 Attempting to render a rainbow simply by path tracing millions of rain drops. It's not working well yet...

Starting by looking closely at a drop and going through the color spectrum, we can see the diffraction at play: the refracted scene appears to move due to the changing ior.

07.07.2025 05:38 β€” πŸ‘ 53    πŸ” 5    πŸ’¬ 5    πŸ“Œ 0
Post image

Hardware virtual textures look like a marvelous tool for large terrains or volume compression.
Alas, they are in a sad state in terms of performance and usability. And strangely, the (very bad) binding perfs varies a lot with the driver.
β†’ read here: hal.science/hal-05138369
@rcmz0.bsky.social

02.07.2025 13:21 β€” πŸ‘ 58    πŸ” 18    πŸ’¬ 1    πŸ“Œ 1

So Red would be LOD0, Green LOD1, Blue LOD2 and Yellow LOD3 I guess? Ish

I'm surprised how many foreground voxels are typically still in LOD0 once you bring them up close, especially for higher resolutions like 4K

30.06.2025 19:10 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

Tried a quick test the other day, where I draw the tile outline color based on how many voxels there are per pixel, just to see how they distribute

Red: <1 voxel per pixel
Green: between 1 and 2 voxels per pixel
Blue: between 2 and 4 voxels per pixel
Yellow: between 4 and 8 voxels per pixel

30.06.2025 19:10 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
Notes on atmospheric perspective and distant mountains I don't know if it's because I come from a supremely flat country, or in spite of it, but I love terrain with elevation differences. Seeing ...

Notes on atmospheric perspective and distant mountains
blog.runevision.com/2025/06/note...

On my recent vacation in Japan, I had ample opportunities to study views with distant mountains. And something about the shades at different distances clicked for me that’s now obvious in retrospect.

29.06.2025 11:01 β€” πŸ‘ 98    πŸ” 17    πŸ’¬ 9    πŸ“Œ 1

If you're a coder and you look up to me in any way as a programmer, please know that I cannot respect and in fact have a very poor opinion of people who voluntarily use any kind of cloud based LLM for coding with any kind of regularity

28.06.2025 08:34 β€” πŸ‘ 654    πŸ” 108    πŸ’¬ 24    πŸ“Œ 9

@vassvik is following 20 prominent accounts