threejs-worldgen
    Preparing search index...

    Class RoadSurface

    Procedural road surface material (TSL): asphalt with lane markings, worn tyre tracks, cracks and patches; cobblestones; gravel; rutted dirt with potholes and a grassy crown; paved sidewalks with joints, curbs and bridge concrete. Weathered through threejs-weathering: wet asphalt darkens and turns mirror-like with puddles on the flat, ruts and potholes fill with water, snow clears first from the tyre tracks, damage opens alligator cracks, burn chars.

    Geometry convention (the same as threejs-city's road mesh): uv = (metres across from the centreline, metres along), a roadPart float attribute with ROAD_PART codes. Other geometry can map its own attributes through RoadSurfaceContext.

    Index
    material: MeshStandardNodeMaterial

    The material.

    Resolved look.

    uniforms: {
        asphalt: UniformNode<"color", Color>;
        burn: UniformNode<"float", number>;
        centre: UniformNode<"float", number>;
        centreLine: UniformNode<"color", Color>;
        cobblestone: UniformNode<"color", Color>;
        concrete: UniformNode<"color", Color>;
        cracks: UniformNode<"float", number>;
        curb: UniformNode<"color", Color>;
        damage: UniformNode<"float", number>;
        dirt: UniformNode<"color", Color>;
        edgeLines: UniformNode<"float", number>;
        grass: UniformNode<"color", Color>;
        gravel: UniformNode<"color", Color>;
        laneLines: UniformNode<"float", number>;
        lanes: UniformNode<"float", number>;
        marking: UniformNode<"color", Color>;
        patch: UniformNode<"color", Color>;
        patches: UniformNode<"float", number>;
        potholes: UniformNode<"float", number>;
        ruts: UniformNode<"float", number>;
        sidewalk: UniformNode<"color", Color>;
        slabSize: UniformNode<"float", number>;
        snow: UniformNode<"float", number>;
        surface: UniformNode<"float", number>;
        wear: UniformNode<"float", number>;
        wetness: UniformNode<"float", number>;
        width: UniformNode<"float", number>;
    } = ...

    Uniforms behind the look.