CrazyGLCrazyGLHomeExploreGitHubBrowse heroesLoading hero…← Back to gallery@crazygl/dither-gradient

Dither Gradient

A dark editorial hero lit by a single grainy warm gradient that ramps along one animated sine contour (no mirrored band). The contour breathes with a pseudo-random amplitude, and the giant wordmark is rendered into the same shader so it is revealed by the light — bright where the gradient washes over it, sinking into near-black shadow elsewhere. Quantised, dithered and grained for a retro/print texture.

ReactWebGLFont#gradient#dither#sine#wave#webgl#editorial#wordmark#grain#warm#dark

Usage

import DitherGradient from '@crazygl/hero-dither-gradient';

export default function Hero() {
  return (
    <DitherGradient
      wordmark="CGL"
      eyebrow={"Design for those who\nwant to become a better\nversion of themselves."}
      colorHot="#ffe6c8"
    />
  );
}

Customise

  • Contenteyebrow (multi-line) and the big wordmark.
  • WavewaveAmplitude, waveFrequency, waveWidth, waveTilt, waveBaseY, flowSpeed, ampSpeed, intensity.
  • Ditherbands (quantised steps), dither (stipple strength), grain.
  • Colours — five-stop warm ramp: colorBase, colorDeep, colorMid, colorWarm, colorHot, plus textColor.
  • WordmarkwordmarkFont, wordmarkWeight, wordmarkSize, wordmarkY, textGlow, textAmbient.

Best for

  • Editorial / brand statement landing pages and agency sites.
  • Dark-mode hero sections wanting a print-like, retro-warm texture.
  • Type-forward wordmark reveals for studios and product launches.
01 · Install the package

One command, zero config.

npm install @crazygl/hero-dither-gradient
02 · Render the component

Import once, drop it in.

The component takes the same props you see in the live customizer on the right — every default ships poster-quality.

hero.tsx
import DitherGradient from '@crazygl/hero-dither-gradient';

export default function Landing() {
  return (
    <DitherGradient />
  );
}
03 · Use it in a page

SSR-safe by default.

The wrapper renders static HTML on the server and only initialises the canvas after hydration, so search engines see your copy.

page.tsx
// app/page.tsx — works in SSR-first frameworks (Next, Remix, Astro, etc.)
'use client';

import DitherGradient from '@crazygl/hero-dither-gradient';

export default function Page() {
  return (
    <section>
      <DitherGradient
        heading="Say hi."
        subheading="Your new hero."
      />
      <article>
        <h2>Welcome</h2>
        <p>Your content keeps its own voice below the hero.</p>
      </article>
    </section>
  );
}
You might also like

Similar heroes

Gradient Text

Heading filled with a slowly drifting multi-stop linear gradient — three configurable colours, customizable angle, optional animation.

Progressive Blur Text

A giant display word that is razor-sharp at the top and melts into a progressively heavier blur toward the bottom — a true variable-radius blur per row, not a gradient-masked copy. Bold, editorial, fully recolourable.

Animated Text Gradient

A heading filled with a slowly-shifting multi-stop gradient that loops across up to five user colours, with controllable angle and speed.

Liquid Aurora Gradient

A full-bleed liquid gradient: large organic blobs of electric blue and warm orange bleed and morph across a near-black field, driven by domain-warped FBM in a single WebGL2 fragment shader. Slow lava-lamp / aurora flow with deep black negative space; the pointer gently pulls the fluid toward the cursor.

Breathing Gradient Landscape

A product screenshot floats above an abstract gradient terrain that slowly breathes through stacked low-frequency FBM noise. Warm peach peaks fade into soft sage valleys; motes drift up; the camera pans across a 30-second loop with a hint of bob.

Reactive Gradient Silk

A background of folded silk made of light — very smooth gradients with broad flowing folds drifting in slow, elegant fabric motion. The folds carry deep desaturated jewel tones and catch a soft specular sheen along each crease. The pointer presses a gentle indentation into the cloth: the folds bend around the cursor and the highlights and shadows shift with it.
Live customizer

Dither Gradient

Wave amplitude0.16How tall the sine wave swings.Wave frequency1.05How many crests cross the width.Gradient spread0.55How far the warm gradient ramps out from the sine contour.Tilt0.22Diagonal slope of the gradient contour.Vertical position0.46Scroll speed0.45How fast the wave travels sideways.Breathe speed0.5How fast the amplitude randomly breathes.Glow intensity1.25Bands12Number of quantised steps in the gradient.Dither3Strength of the ordered-dither stipple between bands.Grain0.04Base (shadow)DeepMidWarmHot coreChrome textWordmark fontWordmark weight800Wordmark size0.96Width the wordmark spans.Wordmark position0.72Text glow1.3How strongly the wave lights the wordmark.Text shadow visibility0.07How visible the wordmark stays in shadow.Chrome font
CrazyGL · crazygl.comProgrammable hero sections for real websites.