SniperJake945
@tearsofjake.bsky.social
270 followers 54 following 39 posts
#1 Houdini artist west of the Mississippi.
Posts Media Videos Starter Packs
tearsofjake.bsky.social
I appreciate the kind words!!! I really enjoyed hanging out with you and the jangafx team!!! Y'all are absolutely wizards 🧙‍♂️🧙‍♂️🧙‍♂️🧙‍♂️
Reposted by SniperJake945
yiningkarlli.bsky.social
At 10am this morning at SIGGRAPH, my teammate Nathan Zeichner will be presenting our talk about a texture streaming system for Ptex on the GPU that we built for our in-house interactive pre-viz GPU path tracer; the talk is by Nathan, Mark Lee, and me.

s2025.conference-schedule.org/presentation...
Presentation - SIGGRAPH 2025 Conference Schedule
s2025.conference-schedule.org
tearsofjake.bsky.social
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
tearsofjake.bsky.social
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.
tearsofjake.bsky.social
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
showing the difference between algorithms.
tearsofjake.bsky.social
New at #SIGGRAPH2025:

Can we make Perlin Noise stretch along some underlying vector field? Well it turns out it's possible with two simple additions to the original method! No need for advection or convolutions.

Find the paper and implementations here:
github.com/jakericedesi...
Anisotropic perlin noise on Suzanne
tearsofjake.bsky.social
Hehehehehehe thanks for posting this Karl and for all the support on the paper!!! ❤️
Reposted by SniperJake945
yiningkarlli.bsky.social
One of my coworkers, @tearsofjake.bsky.social, has a talk at SIGGRAPH this year about this really cool steerable perlin noise technique that was used on Moana 2. He's just posted some handy reference implementations for Houdini, Unity, Godot, and Blender; check it out!

github.com/jakericedesi...
GitHub - jakericedesigns/SteerablePerlinNoise: Implementations of "Steerable Perlin Noise" as presented at Siggraph 2025
Implementations of "Steerable Perlin Noise" as presented at Siggraph 2025 - jakericedesigns/SteerablePerlinNoise
github.com
Reposted by SniperJake945
theorangeduck.bsky.social
Time for another long blog post... and today it's all about how we handle the temporal aspect of animation data. And more specifically, how to approach things from a signal processing perspective, covering up-sampling, down-sampling, and everything in-between.

theorangeduck.com/page/filteri...
tearsofjake.bsky.social
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.
tearsofjake.bsky.social
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
tearsofjake.bsky.social
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!!!!
tearsofjake.bsky.social
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?
tearsofjake.bsky.social
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...
tearsofjake.bsky.social
I do love that true solutions never have crossing edges leaving you with a nice simple polygon.
tearsofjake.bsky.social
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
Reposted by SniperJake945
nbonneel.bsky.social
A thread on our new, also awesome, Siggraph paper "Linear-Time Transport with Rectified Flows", by K. Do, @dcoeurjo.bsky.social, P. Memari and me.
Paper here: perso.liris.cnrs.fr/nicolas.bonn...
Results in video: youtu.be/EcfKnSe6mhk
Linear-Time Transport with Rectified Flows
YouTube video by David Coeurjolly
youtu.be
tearsofjake.bsky.social
How do I get the discover page to align more with my interests? I've tried following a bunch of people, but it still kinda just shows stuff based off whatever categories I clicked when I signed up...
Reposted by SniperJake945
Reposted by SniperJake945
vassvik.bsky.social
So what is the tiniest possible fluid simulation?

Can we get anything interesting from a single cell?

For this we'll be using a standard MAC grid, which means we'll represent horizontal velocities (red) on the vertical edges and vertical velocities (green) on the horizontal edges of each cell.
tearsofjake.bsky.social
If you were curious why I was after the intersections of paraboloids, this is why! :)

bsky.app/profile/tear...
tearsofjake.bsky.social
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.
tearsofjake.bsky.social
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
tearsofjake.bsky.social
Distances to the boundary of voronoi in L4.

shadertoy.com/view/lfKfWV

Hopefully it doesn't crash webgl on your device! :)
vowonoi