Break visible texture repetition with variance-preserving stochastic sampling—the contrast stays, the grid goes. URP and HDRP, triplanar, biplanar, Unity Terrain. Six drop-in shaders.Supports both URP and HDRP. Only one pipeline can be installed at a time, so the other one's materials and the HDRP sample scene (HDAdditionalLightData) cannot resolve in a URP project - hence warnings 1 and 2. Both resolve under HDRP. ReadMip is an Editor-only helper shader. All flagged statics live in TesseraAntiTiler.Editor, an Editor-only assembly, and never ship in a build.Break visible texture repetition on large surfaces with variance-preservingstochastic sampling — the contrast stays, the grid goes. URP and HDRP,triplanar and biplanar, Unity Terrain splatmaps, height, histogram, macro anddetail blending. Six drop-in shaders including Unity Terrain; Shader Graphoptional.The problemOne ground texture, tiled a hundred times, reads as a grid. The eye finds theperiod in seconds and then sees nothing else. The usual answers all costsomething: more textures cost memory, decals cost draw calls, bigger texturesonly move the problem further away.The approachStochastic sampling splits UV space into a triangular lattice and reads thetexture once per cell with its own random offset — and, optionally, its ownrotation. Three of those taps are blended barycentrically.That alone makes the surface flat, because averaging independent randomvariables shrinks variance. This asset computes exactly how much was lost andputs it back, rather than hiding it:```result = mu + (blended - mu) / sqrt( SUM wi^2 )```The gain bounds itself. Where one tap dominates, `SUM wi^2` is 1 and nothing istouched. Where three taps meet equally it is 1/3, so the gain is sqrt(3) — themost the blend can ever need. Nothing is hand-clamped.That is why a blend band here looks like more of the same material instead of asoft patch. Measured: local RMS contrast inside the blend band is 1.035x thecontrast of the dominated core. With the correction switched off, the samemeasurement reads 0.78.Core- Variance-preserving stochastic sampling on a hexagonal triangle lattice- Optional per-cell rotation — breaks the of a pattern, not just itsposition. Ships at 0, because it is a gift to gravel and a disaster forfloorboards, and the shader cannot tell them apart.- Distance LOD measured in pixels per cell, so it behaves identically at anyresolution, focal length, view angle and UV scale. It cross-fades continuouslyonto a single tap; at full fade the expensive path returns *exactly* what thecheap path returns (measured: 2.7e-8 mean deviation).- Integer hash instead of — the same material looksidentical on every GPU.- Explicit gradients throughout. Not an optimisation: with implicit derivativesthe hardware differentiates the UV, which jumps at every cell border,and the mip drops to its coarsest level along a net of seams.Projection- Triplanar with no UV set at all, using exact surface-gradient normalreconstruction instead of the usual whiteout approximation. `NormalStrength = 0` is therefore a true no-op (5.1e-9), not an almost-flat normal.It is not more expensive than the approximation — the instruction count iscounted in the documentation.- Projection weights with compact support: a plane contributing less than 1/255of the dominant one carries exactly zero and is skipped, so the branch isexact rather than merely invisible.- Biplanar mode for mobile and standalone VR — a constant 3.81 fetches per map,independent of blend softness.Material and terrain- One fused PBR node reads albedo, normal and mask through one tap set.Shader Graph cannot pass a struct between nodes, so three separate nodesrecompute the same lattice three times; only a single Custom Function can fixthat.- A ready-made terrain shader for URP and HDRP with a bound material: select theTerrain, assign it, done. No graph of your own and no cbuffer workaround.- Unity Terrain with up to four splat layers, skipping any layer whose controlweight is zero.- Height-based splat blending taken from the blue channel of Unity's mask map —without a single additional texture fetch, because the mask is read anyway.Quality layers (all optional, most default to off)Height blending against double contours on cobblestone, brick, tile andcracked rock. Measured: the taller tap wins 67.7% of seam pixels, up from33.9% — at contrast 0 it is pure chance, because the weights know nothingabout height.Histogram-preserving blending for two-humped textures such as marble orblack-and-white tile. In the blend band the occupancy of the empty middle ofthe histogram falls from 12.3% to 1.14% — the rate of the source textureitself (1.17%).Macro variation against repetition at mean-value scale, which the corecannot break by construction: it preserves the mean exactly, so every cell hasthe same expected value.Detail blending in the near field, for when the base texture simply runsout of texels.Usability- Six ready-made shaders (URP/HDRP x UV/triplanar/terrain). Textures in,checkboxes set, done. The terrain pair ships with a bound material: select theTerrain, set its Material, done - no graph and no cbuffer workaround.- Material inspector with grouped controls, tooltips and 20 state-dependentwarnings that point at measured cliffs rather than generalities — forexample that `Height Contrast` gets above 6, or that biplanar stopspaying for itself above `Projection Sharpness` 32.- The only precompute step (texture mean) runs automatically on import.- Nine SubGraphs and commented HLSL for anyone who wants to build their own graph.In Code Completion, Code Fixing and Reviewing. Also Used in Translation an Writing of Store Site Summarys and FAQ.




