Weathering
Docs / Chapter 8

Weathering

Replaces A hand-wired setup of a Feedback TOP + GLSL TOP + maps into a PBR MAT's base colour and roughness. Weathering is a page on the HRLW Geometry POP, so there are no TOPs to wire. It keeps a map per HRLW Geometry POP in the geometry's texture space and shades it on top of the material.

Not a separate operator: it is the Weathering page of the HRLW Geometry POP (Chapter 1), driven by the Liquid POP (Chapter 3) and the Volume Solver (Chapter 5).

What it does#

  • Wetness: surfaces get wet where a Liquid POP reaches or its spray lands, and dry over time. Wet non-metal surfaces darken and get smoother.
  • Burn: surfaces heat from a Volume Solver's gas, char, glow as embers, crack into blocks.
  • Melt: wax, plastic, rubber, ice and (slowly) metal and glass melt, run downhill, drip into liquids, and are dented by impacts.
  • Fuel: surfaces burn by themselves, feed the Volume Solver, and spread fire from object to object.

Quick start (beginner)#

  1. Give your geometry UVs (Tex or uv) in 0..1 that don't overlap (the same rule as the Surface TOP).
  2. On the HRLW Geometry POP, Weathering page: switch on Wetness and/or Burn.
  3. Have a Liquid POP (wetness) or Volume Solver (burn) in the same network. The page's * default names every Liquid POP / Volume Solver there.
  4. Set Weathering Material (or leave From Material Preset) so it knows whether the surface is wood, metal, plastic and so on.
  5. Run the sim. Pour liquid on the geometry and it darkens; put fire next to it and it chars.

Reset Weathering clears both maps. A Volume Solver's Reset puts the surface's fire out with the gas (char and wetness stay).

Parameters (Weathering page)#

Group Parameter (default) What it does
Wetness Wetness (off)
Liquid POPs (*) Names, patterns, ^ excludes.
Drying Time (20 s; 0 = never), Spray Wetting (2) Dries faster where it is hot. Spray wetting needs the liquid's whitewater.
Wet Darkening (0.6), Soaked Roughness (0.05) Porous non-metals darken (not glass); soaked surfaces (wetness above about a half) take a water film's roughness.
Material Weathering Material (From Material Preset) Wood, Paper / Fabric, Plastic, Rubber, Stone / Ceramic, Metal, Glass, Liquid, Candle Wax, Ice, Custom. A materialid attribute picks it per triangle.
Burn Burn (off)
Volume Solvers (*)
Heating Rate (2), Char Temperature (solver) (0.3), Char Rate (0.5) Heat follows the gas temperature (or the flame) just off the surface; above Char Temperature it chars. Slower while wet. Temperatures marked (solver) use the Volume Solver's own scale (the same numbers as its Ignition Temperature), whatever its Output Temperature Scale.
Char Color, Char Roughness (0.9)
Ember Glow (4) Charred texels that are still hot glow: dull red when warm, orange to yellow as they heat.
Char Relief (on), Relief Depth (1), Relief Scale (48) Char breaks into blocks with cracks; the Weathering Material shapes it (wood: large blocks; paper/fabric: fine and shallow; plastic: bubbles).
Embers Light the Scene (off) Embers become emitters the light sampling finds.
Melt Melt (off; needs Burn)
Melt Flow (0.05 units/s), Melt Depth (0.01 units), Drips into Liquids (on) Molten material runs downhill, pools, and what runs off an edge drips into liquids that have Solver Interaction on (the page warns when none has).
Fuel Fuel (off; with Burn)
Ignition Temperature (solver) (0.35), Burn Time (10 s)
Flame Fuel (2), Flame Temperature (solver) (1), Flame Offset (1 cell) Burning surface feeds Volume Solvers that have Solver Interaction on. The page warns when none of the solvers it reads has it on.
Fuel Type Flame colour: Candle Wax (blue), Gas / Alcohol (blue), Copper Salts (green), Sodium (yellow), Lithium / Strontium (red), Potassium (violet), Custom, or Wood / Paper (the fire's own colours). Needs the solver's Colored Fire.
Map Map Resolution (1024), Reset Weathering 24 bytes a texel.

Weathering Material in one table#

Material Behaviour
Wood chars readily, soaks, burns long
Paper / Fabric chars and burns fast
Plastic sheds water, burns faster, melts in flames
Rubber hard to light, burns long; melts creep
Stone / Ceramic scorches only when very hot, glows red hot
Metal, Glass don't char or burn, don't darken when wet; glow as they heat (hot glow); cool slowly (keep glowing after the flames have gone)
Liquid neither chars nor wets
Candle Wax barely chars, burns long, melts easily (runs)
Ice melts with any warmth

Advanced#

  • Per-triangle. Each map knows which triangle covers each texel, so a deforming mesh (Topology: Deforming Only) only interpolates points again; a changing topology rasters the layout again.
  • Spheres. A HRLW Geometry POP's sphere primitives weather too, each with its own 16×8 map (2 KB per sphere, the first 16384 spheres), no UVs needed. Curves aren't weathered. Melt is for triangles only.
  • Where it runs. The Path Tracer moves each map along right before it renders it, on its own stream, only on frames where a liquid or volume it reads has stepped. Shading reads the map once per hit (bilinear), compiled in only while some HRLW Geometry POP in the render has weathering on (Info CHOP weather_maps). Limits: up to 8 weathered HRLW Geometry POPs per render, each reading up to 4 liquids and 2 Volume Solvers.
  • Melt memory. 20 bytes a texel plus 12 bytes a triangle, only while Melt is on and the material melts.
  • Impacts. HRLW Bodies hands hits faster than its Impact Speed to Melt as splashes.
  • Fuel sources. A lattice of about 256×256 points of the map (32 per sphere, at most 64K a map) just off the surface, stamped into the gas each update, a frame late.
  • Bypass. Bypassed solvers are left out (their last state would keep wetting or heating the surface).