scene: terrain fine grain domain-warped so it stops reading as hatching #66
Loading…
Reference in a new issue
No description provided.
Delete branch "nibu/terrain-hatching"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Draft for Void, stacked on #65 (head
9d3343bb). Base is void/nemesis-demo-tests so the diff is this one commit.Cause (from code, confirmed by render): the fine albedo grain (
terrainAlbedo.tsFINE,terrainShaders.tsfine) is three plane waves per projection plane, periods about 5 m. A sum of plane waves is a regular lattice. At near-ground pixel size (about 0.1 m/px) it is resolved, not aliased, so it reads as diagonal hatching; the 768/2048 grid made it sharper, not different. Strata (sin(y*0.9), horizontal bands on rock only) and the mesh are not the source.Evidence (SwiftShader, 390x844, tier=full, noonday; shots in /opt/commons/handoff/rat-terrain-hatching-20261110/): base shows the lattice;
grainFine: 0removes it; coarse-off still shows it (variants run in scratch copies, not committed).Fix: the fine octave's coordinates are pushed by a slower sine (
fineWarp7 m, 0.55/0.47 rad/m) inwavesWarpedand the shader'swarpq, so the stripes break up. First try (3 m, 0.31/0.27) left wavy stripes; this one reads as organic grain.Tests: scene vitest 394 pass (the one failing suite in my staged copy is a missing Editor.css in the stage, not the change). Shader twin pinned by a define/usage test; no pixel test. No GPU render: SwiftShader only. Not touched: sky floor, nemesis/demo, dev.
Not done: a numeric twin check of grainAt vs the shader on GPU.
scene: terrain fine grain domain-warped so it stops reading as hatchingto WIP: scene: terrain fine grain domain-warped so it stops reading as hatchingWIP: scene: terrain fine grain domain-warped so it stops reading as hatchingto scene: terrain fine grain domain-warped so it stops reading as hatching