SniperJake945
banner
tearsofjake.bsky.social
SniperJake945
@tearsofjake.bsky.social
#1 Houdini artist west of the Mississippi.
I appreciate the kind words!!! I really enjoyed hanging out with you and the jangafx team!!! Y'all are absolutely wizards 🧙‍♂️🧙‍♂️🧙‍♂️🧙‍♂️
August 13, 2025 at 3:40 AM
The github repo also includes links to some shader toy demos, so check those out! Here's one for noise on an SDF surface :)

shadertoy.com/view/WXdXzj
Shadertoy
shadertoy.com
July 29, 2025 at 12:17 AM
The least obvious part of all of this is how to construct that metric tensor G from a given vector, but it turns out it's super straight forward. The attached example shows how to do so for a 3D metric tensor. In our paper we outline specific bounds for the sizing of this metric.
July 29, 2025 at 12:17 AM
Just to elucidate the idea a bit more, on the left we have the original perlin noise algorithm, and on the right we have the steerable version, with the changes underlined in red. We simply add a second set of weights, and incorporate our metric into the original dot product step
July 29, 2025 at 12:16 AM
Hehehehehehe thanks for posting this Karl and for all the support on the paper!!! ❤️
July 29, 2025 at 12:14 AM
In anisotropic meshing the metric is defined at all points in space and you use something like fast marching (basically a fancy dijkstras) to generate anisotropic distances. The hacky version would be to give each voronoi pt a metric and swap the euclidean distance calc for the metric equivalent.
June 16, 2025 at 4:14 PM
For anisotropic voronoi M will be some metric tensor or in easier terms just a positive definite matrix (non zero positive eigenvalues).

One way of generating that matrix is by following the steps outlined in this paper (eq. 9): bougleux.users.greyc.fr/articles/bou...
bougleux.users.greyc.fr
June 16, 2025 at 4:10 PM
Yeah, I'm finding that as the resolution of the 3d grid increases the precision issues really start to compound specifically for the SAT computation. I'll stick with 64bit precision in that case! Either way the results are so cool, really amazing work!!!!
June 10, 2025 at 11:25 PM
If I naively clamp the magnitude of velocity to be at most 1, with 100 timesteps it seems to converge, however if I drop the time steps to something like 10, it no longer converges. So I guess I was curious if there was some way to intuit what a good upper bound for vel magnitudes would be?
June 10, 2025 at 8:11 PM
Such a cool paper! I tried implementing this with 32 bit precision and it seems much more noisy in the output (which makes sense). I was curious if you had any thoughts with respect to clamping/limiting velocity values? Almost like a cfl condition of sorts...
June 10, 2025 at 8:08 PM
I do love that true solutions never have crossing edges leaving you with a nice simple polygon.
June 8, 2025 at 7:28 PM
Assuming I understand the question correctly:
www.geometry.caltech.edu/BlueNoise/

And then there's a linear time algorithm for it using a paper from this year's siggraph:
perso.liris.cnrs.fr/david.coeurj...
Blue Noise through Optimal Transport
www.geometry.caltech.edu
June 8, 2025 at 6:27 PM
The painting app rebelle is super fun to play with. I know Craig Mullins (the GOAT) has some a cool time lapse on Instagram where he used it.
www.instagram.com/reel/CzXYoAA...
Login • Instagram
Welcome back to Instagram. Sign in to check out what your friends, family & interests have been capturing & sharing around the world.
www.instagram.com
January 3, 2025 at 7:56 PM
If you were curious why I was after the intersections of paraboloids, this is why! :)

bsky.app/profile/tear...
Is there a robust and fast way of finding the nearest point on a paraboloid of form: (x,y, f(x) + f(y))
where f() could be any range of convex functions, like x^2 or x^4?

So like given a point (p0,p1,p2) minimize:
(x - p0)^2 + (y-p1)^2 + ((f(x) + f(y)) - p2)^2
With respect to x and y.
December 18, 2024 at 2:09 AM
It's unfortunately not exact, due to using an iterative method to solve the problem (Alternating Projections). But it extends to higher dimensions, and works for any norm >= 2
December 18, 2024 at 2:08 AM