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,810 Followers  |  1,644 Following  |  767 Posts  |  Joined: 30.07.2023  |  2.3849

Latest posts by vassvik.bsky.social on Bluesky

Video thumbnail

Extended my topology libs to work on non-Euclidean domains (spherical, toroidal, etc.) by turning mesh edges into geodesics. Below: Bridson's Poisson disk sampling across different domains.

#indiedev #gamedev #computergraphics #computationalgeometry #topology

03.10.2025 20:51 โ€” ๐Ÿ‘ 48    ๐Ÿ” 7    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0

Yes

03.10.2025 17:12 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Video thumbnail

Some progress on the VAT export in #illugen. Complex mesh animations can be imported in game engines ... (made with an internal build)
#VFXFriday #realtimevfx #vfx

03.10.2025 14:29 โ€” ๐Ÿ‘ 14    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Meaning trying to detect inside/out by any means on a mesh that isn't very "nice" is rough, and things that are usually out of sight out mind to an artist or someone who's made the mesh doesn't exactly make your job of voxelizing such meshes easier :D

02.10.2025 15:12 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Therein lies the madness that is sloppy meshes

02.10.2025 14:10 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

I need to try some hysteresis for my sparse sim at some point

28.09.2025 23:18 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Post image Post image Post image Post image

Few stills

1664x1568x576 bounding box, 536M active voxels. Roughly 65% sparsity.

27.09.2025 22:06 โ€” ๐Ÿ‘ 5    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Video thumbnail

Dimmer RGB colors

27.09.2025 21:51 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Video thumbnail

Bright Red-Blue-Yellow primaries

27.09.2025 21:51 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Video thumbnail

Some tests I did with hacking in mixbox (github.com/scrtwpns/mix...) support today

Left: RGB blending
Right: Mixbox blending

Interestingly I there's a lot to take from this for smoke scattering, which generally has an absorption component, so subtractive color mixing makes sense I think?

27.09.2025 21:51 โ€” ๐Ÿ‘ 28    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Tile* level

26.09.2025 16:53 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Time level yeah, and I have large tiles (so there's not a lot of tiles, max 64K by design). And I have a wave size of at least 32 (never heard of anything less, I swear!), so fetching 32 values at once and distributing them across a wave sort of fits nicely

26.09.2025 16:53 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

A graph

25.09.2025 19:26 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Singly linked lists? Doubly linked lists? On the GPU?

I use 27-way linked lists on the GPU, and it's good and highly appropriate!

25.09.2025 19:07 โ€” ๐Ÿ‘ 12    ๐Ÿ” 0    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0

Definitely skipping US conferences for the foreseeable future:(

23.09.2025 21:47 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Post image

A cool experiment would actually be to have these, but view them under different colored light

23.09.2025 21:44 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Fog is <color> if it scatters <color> light. It is not <color> if it absorbs it.

What do you mean what color is the fog if there's no light?

23.09.2025 21:44 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Setting/defining a fog color is probably the easier part *nervous laughter*

23.09.2025 21:40 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

PBR for fog?

Normals? Metallic? Diffuse? Specular? Roughness? Concepts thought up by the deranged

23.09.2025 21:38 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

I basically just use it as an alternative to Github Gist, and with its files stored in my Dropbox I can have the same files on both of my PCs. The ability to link files and such is cool and all, but less useful I feel.

21.09.2025 18:08 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Video thumbnail
19.09.2025 19:27 โ€” ๐Ÿ‘ 9    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

๐Ÿค”

19.09.2025 19:21 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Post image Post image 19.09.2025 19:21 โ€” ๐Ÿ‘ 4    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Post image Post image Post image Post image

๐Ÿค”

19.09.2025 19:20 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Post image Post image Post image Post image

๐Ÿค”๐Ÿซฃ๐Ÿซ 

16.09.2025 16:53 โ€” ๐Ÿ‘ 13    ๐Ÿ” 0    ๐Ÿ’ฌ 3    ๐Ÿ“Œ 0

On the other hand, grinding forever can also end up shedding new light on a problem which ends up opening the door for a different solution, or even open up for new approaches or make different problems relevant alltogether. Not entirely economical for most people though

09.09.2025 16:54 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

What do you mean I can't tunnel vision on this one problem over and over for weeks on end? I definitely don't do that...

Some times it helps to get back to it later though if possible, but it's hard to let go. ๐Ÿซ 

09.09.2025 15:54 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

I'm surprised how quickly I got in and out the door this time. Probably didn't take me more than a minute ๐Ÿ˜…

08.09.2025 21:05 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Same for sinh(x)/x, the division simply goes away and you're left with really neat coefficients that rapidly goes to zero. Something like 1/(2n+1)!

08.09.2025 20:33 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Apparently the thing I was ultimately after is often called "exprel". Naively you'd default to just doing expm1(x)/x, but interestingly the denominator happens to cancel when you expand, and what looked like a 0/0 simply isn't anymore. Made me more appreciative of not jumping to conclusion too soon

08.09.2025 20:30 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

@vassvik is following 20 prominent accounts