MicroFlakes*

Preview
Performance Cost 🟡 Medium
Signal Type Shader → Color
Implementation Native Compiled C++
Device Support Arnold Only

Micro Flakes is a specialized procedural material generator designed to render complex, sparkling surfaces like metallic car paint, snow, cosmetics, and glitter. Based on the groundbreaking 2018 research "Real-time Rendering of Procedural Multiscale Materials," this node solves the biggest problem with glitter in CGI: severe temporal flickering and aliasing. By mathematically resolving analytical micro-facets that are smaller than a single pixel, it produces stable, gorgeous "glints" that behave perfectly at any camera distance or angle, reacting dynamically to your scene's lighting.

Usage & Behavior

Metallic Car Paint Glints
Colored Glints
Sparkling Snow/Ice
Virtual Light for Macro Features (Sugar)

Unlike standard noise nodes, this is a Lighting-Aware Shader. It must evaluate the lights in your scene to know which microscopic flakes are catching the light and reflecting it into the camera lens. You plug the output of this node into the Base Color or Emission of your main shader, or Add it over a glossy material to inject localized sparkles.

Best Used For: Metallic car paints, glitter plastics, fresh snow, sand dunes, makeup/cosmetics, and anodized metals.

Key Features

  • Multiscale Stability: Flakes gracefully merge into a smooth BRDF at a distance instead of flickering.
  • Triplanar Native: Maps perfectly to any geometry without requiring UVs (optional).
  • Virtual Light: Built-in fake illumination ensures sparkles are visible even in flat lighting.

Deep Dive: The Anti-Flicker Magic

Standard approaches to glitter (like feeding high-frequency Voronoi noise into a Bump node) fail spectacularly in animation. As the camera moves, sub-pixel white dots snap in and out of existence, creating violent, noisy flickering ("fireflies").

The Noise Approach (Unstable)

Standard bump maps attempt to calculate thousands of tiny normals inside a single pixel. The raytracer only hits one of them per sample. This causes severe undersampling, requiring thousands of render passes to clean up.

The Binomial Approach (Stable)

Our shader tracks the "Pixel Footprint". Instead of generating physical geometry, it uses a Binomial Probability Distribution to calculate exactly how much light would bounce back if there were millions of flakes there. As you zoom out, individual glints mathematically blur into a smooth, correct specular highlight.

Parameters

Scale (default: 1.0)
Overall unit scale multiplier. Controls how densely the flake lattice is mapped to the object.
Use UVs (bool, default: false)
By default, the shader uses a robust Triplanar Projection to map flakes without seams. Toggle this ON to force the shader to use the object's explicit 2D UV coordinates.

Surface & Flake Properties

Roughness U / V (default: 0.6)
The overall "Meso-roughness" of the surface. This controls how widely the glints are spread out across the highlight. Unlinking U and V creates an anisotropic (stretched) highlight.
Micro Roughness (default: 0.02)
The roughness of the individual microscopic flakes.
- Low (0.005): Sharp, blindingly bright pinpoint sparkles (Glitter).
- High (0.1): Softer, more diffuse sparkles (Sand).
Micro Density (default: 5000.0)
The total number of micro-details per unit area. Increasing this fills the surface with more flakes.
Detail Variation (default: 50.0)
Randomizes the density of flakes across the surface. High variation creates patchy clusters of glitter; low variation creates an perfectly even coat.

Illumination & Color

Search Cone Angle (default: 0.01)
Determines the solid angle of light hitting the pixel. In physical terms, it represents how much "spread" the incoming light source has (e.g., a tiny sun vs. a large softbox).
- Low values (0.001): Very tight search. Only flakes perfectly aligned with a sharp, pinpoint light source will flash. Creates distinct, isolated "fireflies".
- High values (0.1): Wide search. Flakes will catch light from broader, softer sources (like HDRIs), resulting in a more continuous, "sandy" sparkle across the highlight rather than sharp individual pings.
Dynamic Range (default: 100.0)
Controls the maximum brightness multiplier of a single glint. High values create extreme HDR "fireflies" that look fantastic when passed through a Bloom/Glare post-process.
Colorize Glints (bool, default: false)
Assigns random hue shifts to individual flakes based on their seed, simulating holographic glitter or prismatic snow reflection.
Virtual Light (bool, default: false)
Critical Feature: Glitter only sparkles when a light hits it perfectly. In evenly lit or HDRI environments, glints can disappear. Virtual Light creates a fake, invisible light source pointing directly at the camera, guaranteeing that the surface will sparkle regardless of scene lighting. This can also be used to 'macro' model plastic bumps or to add brown sugar on top of a cupcake etc.
V-Light Perturb (default: 0.0)
Adds a random cone-angle deviation to the Virtual Light, spreading the fake sparkles out so they look more organic and less rigidly tied to the camera angle.

Grading

Exposure / Contrast / Blacks
Built-in color correction to fine-tune the output intensity of the glints before they hit your main shader network.

Quick Recipes

Starting points for common sparkly materials.

Metallic Car Paint

  • Micro Rough 0.02
  • Micro Density 8000
  • Detail Var. 10.0
  • Colorize False
High density with low variation creates the even, highly structured metallic flake base coat of a car.

Fresh Snow

  • Roughness U/V 0.8
  • Micro Density 2000
  • Detail Var. 200.0
  • Virtual Light True
High macro-roughness scatters the glints widely. Virtual Light ensures it sparkles even on overcast HDRI days.

Holographic Glitter

  • Micro Rough 0.005
  • Dynamic Range 500.0
  • Colorize True
Incredibly sharp, blindingly bright flakes with full RGB randomization. Best used with Bloom.
© 2025 Rombo Tools. All rights reserved.
↑ Back to Top

Leave a Reply