CrazyGLCrazyGLHomeExploreGitHubBrowse heroesLoading hero…← Back to gallery@crazygl/ocean-above

Ocean Above

Top-down stylised ocean. Wave height-field via FBM, foam crests on the sharpest gradients, sun glints across the highest peaks. Pointer pushes the water.

ReactWebGLInteractiveFont#ocean#water#top-down#foam#premium

Usage

import OceanAbove from '@crazygl/hero-ocean-above';

export default function Hero() {
	return (
		<OceanAbove
			heading="Open water."
			amplitude={0.35}
			foamAmount={0.5}
			sunStrength={1.1}
		/>
	);
}

Customise

  • WaterdeepColor / shallowColor, foamColor, sunColor, amplitude, scale, windSpeed, foamAmount, sunStrength.
  • Content & typography — heading / subheading / two-column / custom content, plus heading font.

Best for

  • Sailing and marine brands
  • Ocean-conservation nonprofits
  • Surfwear and watersports labels
  • Coastal hospitality and travel sites
01 · Install the package

One command, zero config.

npm install @crazygl/hero-ocean-above
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 OceanAbove from '@crazygl/hero-ocean-above';

export default function Landing() {
  return (
    <OceanAbove />
  );
}
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 OceanAbove from '@crazygl/hero-ocean-above';

export default function Page() {
  return (
    <section>
      <OceanAbove
        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

Caustic Pool Light

Light dancing at the bottom of a swimming pool — animated caustic networks refracted through gentle surface waves, FBM-warped so the pattern never repeats.

Water Surface

A dark reflective water plane. Stacked Gerstner waves animate the surface and the cursor leaves a continuous wake of expanding Gaussian wavefronts plus a live finger-press depression directly under the pointer. Sky, sun, and horizon refract through every displaced normal.

Logo Reflected in Water

A glowing brand mark floats above a real 3D water plane. Perspective foreshortening, fog-attenuated distant reflection, and Schlick Fresnel sell the scene as photographic. Stacked Gerstner waves drive the surface; pointer wake rings and a continuous finger-press depression carve into the mirror.

Water Ripple Headline

A bold headline printed on a moonlit pool. Stacked Gerstner waves and pointer-driven Gaussian wakes bend the letters in real time, and the CTA fires a circular wavefront across the surface. Reflective night water with soft moon highlights and a low cinematic camera.

Floating Ink

Ink clouds drifting through water — domain-warped FBM noise, layered with transparency, slowly evolving so the silhouettes never repeat.

Holographic Terrain

Low-poly wireframe terrain stretching to the horizon. Real vertex displacement (no faked depth), barycentric wireframe AA, distance fog, height-driven emissive on the peaks. Camera scrolls forward.
Live customizer

Ocean Above

Deep colourShallow colourFoamSun glintWave amplitude0.35Wave scale1.75Wind drift0.2Foam amount0.5Sun glint strength1.1Heading FontInteractivityWhich input drives the hero — try Scroll if you want the page to drive motion.
CrazyGL · crazygl.comProgrammable hero sections for real websites.