threejs-grass
    Preparing search index...

    Function createGrassUniforms

    • Creates the uniform set shared by a Grass field's materials. Grass calls this for you and drives the values from Grass.set(); it is exported so the GrassUniforms type is documented in full.

      Returns {
          baseColor: UniformNode<"color", Color>;
          bladeHeight: UniformNode<"float", number>;
          bladeWidth: UniformNode<"float", number>;
          colorVariation: UniformNode<"float", number>;
          curvature: UniformNode<"float", number>;
          debugLods: UniformNode<"float", number>;
          interactionStrength: UniformNode<"float", number>;
          interactorCount: UniformNode<"int", number>;
          interactors: UniformArrayNode<string>;
          lodDensities: UniformNode<"vec4", Vector4>;
          lodDistances: UniformNode<"vec4", Vector4>;
          map: TextureNode<"vec4">;
          mapBounds: UniformNode<"vec4", Vector4>;
          maxDistance: UniformNode<"float", number>;
          patchiness: UniformNode<"float", number>;
          stiffness: UniformNode<"float", number>;
          sunColor: UniformNode<"color", Color>;
          sunDirection: UniformNode<"vec3", Vector3>;
          tipColor: UniformNode<"color", Color>;
          translucency: UniformNode<"float", number>;
          viewPosition: UniformNode<"vec3", Vector3>;
          windDirection: UniformNode<"vec2", Vector2>;
          windScale: UniformNode<"float", number>;
          windSpeed: UniformNode<"float", number>;
          windStrength: UniformNode<"float", number>;
      }

      • baseColor: UniformNode<"color", Color>

        Blade colour at the root (from baseColor).

      • bladeHeight: UniformNode<"float", number>

        Blade height in metres.

      • bladeWidth: UniformNode<"float", number>

        Blade base width in metres.

      • colorVariation: UniformNode<"float", number>

        Per-blade brightness variation, 0..1.

      • curvature: UniformNode<"float", number>

        Natural droop, 0..1.

      • debugLods: UniformNode<"float", number>

        1 tints grass by LOD, 0 = normal shading.

      • interactionStrength: UniformNode<"float", number>

        Global multiplier on interactor push.

      • interactorCount: UniformNode<"int", number>

        Number of active entries in interactors.

      • interactors: UniformArrayNode<string>

        xyz = world position, w = radius (0 = unused slot).

      • lodDensities: UniformNode<"vec4", Vector4>

        The four LOD density fractions (x, y, z, w = LOD 0..3).

      • lodDistances: UniformNode<"vec4", Vector4>

        The four LOD distances (x, y, z, w = LOD 0..3).

      • map: TextureNode<"vec4">

        Grass map texture (R = coverage, G = height); a neutral 1×1 texture when there is none.

      • mapBounds: UniformNode<"vec4", Vector4>

        minX, minZ, sizeX, sizeZ of the grass map in world space.

      • maxDistance: UniformNode<"float", number>

        Radius with grass; blades fade over its last 15%.

      • patchiness: UniformNode<"float", number>

        Field-scale light/dark and dry patches, 0..1.

      • stiffness: UniformNode<"float", number>

        Resistance to wind and interaction (never below 0.05).

      • sunColor: UniformNode<"color", Color>

        Sun colour × intensity.

      • sunDirection: UniformNode<"vec3", Vector3>

        Direction towards the sun. Drives back-lit translucency.

      • tipColor: UniformNode<"color", Color>

        Blade colour at the tip (from tipColor).

      • translucency: UniformNode<"float", number>

        Back-lit glow strength.

      • viewPosition: UniformNode<"vec3", Vector3>

        Position LOD/fades are measured from. Set from the Grass camera on the CPU so shadow passes (which render from the light) see exactly the same blades as the main view.

      • windDirection: UniformNode<"vec2", Vector2>

        Normalised XZ wind direction.

      • windScale: UniformNode<"float", number>

        Gust noise frequency (1/metres).

      • windSpeed: UniformNode<"float", number>

        Gust travel speed.

      • windStrength: UniformNode<"float", number>

        How far blades bend in the wind.