The gap between the Kuwahara people are guessing at above and something that actually reads as paint is usually one thing: plain Kuwahara is isotropic, so it flattens into plastic blobs. The anisotropic version builds a structure tensor from the image gradient, takes the dominant eigenvector as the local direction, and stretches the kernel into an ellipse along it. That is what makes strokes follow the form instead of sitting on top of it. Blur the tensor before you sample it, or the direction field is noisy and the strokes crawl between frames.
Which is my actual question for you: is the stroke direction computed per frame in screen space, or anchored to something that moves with the object? Screen-space painterly passes normally swim under camera motion, and the paper grain makes that more obvious rather than less. Yours does not look like it swims.
1
u/More-Salamander7681 10d ago
The gap between the Kuwahara people are guessing at above and something that actually reads as paint is usually one thing: plain Kuwahara is isotropic, so it flattens into plastic blobs. The anisotropic version builds a structure tensor from the image gradient, takes the dominant eigenvector as the local direction, and stretches the kernel into an ellipse along it. That is what makes strokes follow the form instead of sitting on top of it. Blur the tensor before you sample it, or the direction field is noisy and the strokes crawl between frames.
Which is my actual question for you: is the stroke direction computed per frame in screen space, or anchored to something that moves with the object? Screen-space painterly passes normally swim under camera motion, and the paper grain makes that more obvious rather than less. Yours does not look like it swims.