Kernel Noise (Local Spot Noise) introduces a completely new noise family to the toolkit. Distinct from gradient noise (Perlin) or cellular noise (Worley), Kernel Noise operates on the principle of Gaussian Splatting.
It synthesizes procedurally distributed Gaussian-shaped impulses across a lattice. Each impulse contributes a localized elliptical kernel, which can be analytically rotated, scaled, and distributed. This approach allows for the creation of structured, geometric patterns (like weaves and chainmail) or highly controlled stochastic textures (like sprayed paint), all with mathematically perfect anti-aliasing.
Usage & Behavior
Kernel Noise excels at "blobby" or "woven" structures. By adjusting the Length and Thickness, you define the shape of the spot (round vs. elliptical). The unique Alternating Rotation feature allows neighboring cells to rotate in opposite directions, instantly creating woven fabric patterns or interlocking chainmail looks.
Key Features
- Gaussian Impulse Basis: Uses analytic elliptical kernels rather than interpolated gradients.
- Covariance Filtering: Matrix-based anti-aliasing for perfect sampling at any distance.
- Precise Control: Dedicated vector map for Orientation, Distribution, and Chaos.
Matrix-Based Covariance Filtering
Like Scratches Noise, Kernel Noise implements a custom high-end filtering engine.
However, this implementation is even more advanced: it uses Covariance Matrices.
The code calculates a mathematical ellipse representing the "footprint" of the screen pixel (Sp) and combines it with the ellipse of the noise kernel (S). By convolving these two matrices (Σp + Σ), the shader analytically calculates exactly how blurred a spot should be. This prevents "fireflies" (sparkling artifacts) when tiny high-frequency spots are viewed from a distance, ensuring a stable image even with 1 sample per pixel.
Control Map Schematic
The Ctrlmap input is a packed vector that controls three distinct properties of the noise distribution. Use a Combine XYZ node to drive these independently.
Parameters
Z: Controls the Filtering Strength. Set Z to 0.0 to disable filtering (sharper but aliased). Higher Z values create softer, more stable kernels.
Quick Recipes
Use these presets for geometric and stochastic patterns.
Carbon Fiber Weave
Length: 0.9
Thickness: 0.2
Ctrlmap: (0, 0, 0)
Splatter / Dust
Ctrlmap: (0, 0.4, 1.0)
Length: 0.3
Thickness: 0.3
Chainmail
Length: 0.7
Thickness: 0.1
Hardness: 2.0
K * exp(-0.5 * (X-M)^T * Σ^(-1) * (X-M)). The covariance matrix Σ determines the shape and rotation of the Gaussian. For anti-aliasing, the pixel footprint Σp is added to the kernel covariance, effectively widening the Gaussian as the object moves further away from the camera.
