perlinGradientDef top-level property

ShaderDefinition perlinGradientDef
final

Implementation

final perlinGradientDef = ShaderDefinition(
  hasChildren: false,
  assetPath: 'packages/material_palette/shaders/perlin_gradient.frag',
  layout: UniformLayout([
    ...ParamGroups.linearGradientFields,
    ...ParamGroups.noiseFields,
    const UniformField('noiseScale'),
    const UniformField('noiseContrast'),
    ...ParamGroups.gradientColorsFields,
    ...ParamGroups.postProcessingFields,
    ...ParamGroups.lightingFields,
  ]),
  defaults: ShaderParams(
    values: {
      'gradientAngle': 110.03, 'gradientScale': 0.85, 'gradientOffset': 0.01,
      'noiseIntensity': 0.46, 'ditherStrength': 0.0, 'ditherScale': 1.0,
      'animSpeed': 0.91,
      'noiseScale': 15.28, 'noiseContrast': 3.00,
      'colorCount': 2.0, 'softness': 0.74,
      'exposure': 1.0, 'contrast': 1.00,
      'bumpStrength': 0.0,
      'lightDirX': 0.60, 'lightDirY': 0.40, 'lightDirZ': 1.0,
      'lightIntensity': 1.10, 'ambient': 0.35, 'specular': 0.30,
      'shininess': 24.0, 'metallic': 0.0, 'roughness': 0.50,
      'edgeFade': 0.0, 'edgeFadeMode': 0.0,
    },
    colors: {
      ...ParamGroups.gradientColorDefaults([
        const Color.fromRGBO(37, 146, 244, 1),
        const Color.fromRGBO(242, 252, 252, 1),
        const Color.fromRGBO(20, 24, 133, 1),
      ]),
    },
  ),
  uiDefaults: ShaderUIDefaults({
    ...ParamGroups.linearGradientRanges,
    ...ParamGroups.noiseRanges,
    'noiseScale': const SliderRange('Noise Scale', min: 1.0, max: 60.0),
    'noiseContrast': const SliderRange('Noise Contrast', min: 0.5, max: 3.0),
    ...ParamGroups.edgeFadeRanges,
    ...ParamGroups.gradientColorsRanges,
    ...ParamGroups.postProcessingRanges,
    ...ParamGroups.lightingRanges,
  }),
  paramDescriptions: {
    ...ParamGroups.linearGradientDescriptions,
    ...ParamGroups.noiseDescriptions,
    'noiseScale': 'Frequency scale of the Perlin noise',
    'noiseContrast': 'Contrast sharpening of the noise pattern',
    ...ParamGroups.gradientColorsDescriptions,
    ...ParamGroups.postProcessingDescriptions,
    ...ParamGroups.lightingDescriptions,
  },
);