CrazyGLCrazyGLHomeExploreGitHubBrowse heroesLoading hero…← Back to gallery@crazygl/ice-encased-logo

Ice Encased Logo

Your logo is frozen inside a chunky beveled cube of real refractive ice. Three.js MeshPhysicalMaterial with IOR 1.31, clearcoat, Beer-Lambert blue attenuation and chromatic dispersion bends the studio HDRI around the brand. Frost on the front face melts on load to reveal the logo inside a clear ice-cube body.

ReactWebGL3DImageInteractiveFont#three#3d#ice#glass#refraction#transmission#dispersion#frost#logo#premium

Usage

import IceEncasedLogo from '@crazygl/hero-ice-encased-logo';

export default function Page() {
  return (
    <IceEncasedLogo
      heading={'Frozen\nin time.'}
      logoImage="https://crazygl.com/samples/crazygl.svg"
      frostMeltSeconds={2}
    />
  );
}

Customise

  • LogologoImage (SVG/PNG silhouette is extruded into a thin plate; GLB placed as-is), logoScale, plus optional backlit glow (logoEmissive, logoEmissiveIntensity).
  • Ice blockcenterX, blockWidth / blockHeight / iceThickness, blockBevel, and the optics: iceColor, iceTransmission, iceTint, attenuationDistance, roughness, clearcoat, dispersion.
  • Frost revealfrostInitial, frostResidual, frostMeltSeconds.
  • LightingenvironmentImage HDRI + envIntensity, three-point key/fill/rim colours and intensities.
  • Behavior & stagerotationSpeed, pointer parallax, dragInertia, bgTop / bgBottom, and contact-shadow controls.

Best for

  • Premium product and luxury brand launch pages
  • Cold-chain, beverage, or winter-campaign sites
  • Studios and agencies wanting a tactile, cinematic logo reveal
  • High-end SaaS landing pages that want their mark to feel substantial
01 · Install the package

One command, zero config.

npm install @crazygl/hero-ice-encased-logo
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 IceEncasedLogo from '@crazygl/hero-ice-encased-logo';

export default function Landing() {
  return (
    <IceEncasedLogo />
  );
}
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 IceEncasedLogo from '@crazygl/hero-ice-encased-logo';

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

Glass Logo Sculpture

Upload a logo (SVG / PNG / GLB) and watch it become a real 3D glass paperweight: Three.js MeshPhysicalMaterial with true volumetric transmission, per-wavelength dispersion, clearcoat, Beer-Lambert attenuation, ContactShadows, an HDRI-lit studio rig and pointer-driven parallax orbit that visibly bends the photographic background through the body.

Glass Tile Logo

The logo is reconstructed from a grid of small glass blocks. Each tile floats apart, refracts the background through real MeshPhysicalMaterial transmission, then assembles into the silhouette on load. Hover separates the tiles slightly. Built with Three.js InstancedMesh + HDRI reflections + soft contact shadows.

Ice Surface

A glassy frozen pane fills the frame. Tap or drag to spread fresh cracks; old fractures slowly heal.

Glass Typography

A headline cast in transparent optical glass: Three.js TextGeometry extruded into a real 3D object, rendered with MeshPhysicalMaterial (transmission, IOR, dispersion, clearcoat) so it visibly refracts the moving gradient behind it. Pointer parallax tilts the camera and CTA hover sweeps a bright edge highlight across the letters.

Liquid Glass Badge Logo

Your logo becomes a thick translucent liquid-glass badge that refracts a user-supplied photograph through its biconvex body. Per-channel IORs paint a real rainbow seam at the rim, the interior reads as frosted glass, and a 4-light Blinn-Phong studio rig sells the volume. Falls back to a rotating gradient backdrop when no image is supplied.

Logo Inside a Crystal

A slowly rotating crystal prism (3D ray-marched rounded cube) with your logo suspended inside as a glowing emissive mesh. Per-channel IOR refraction on the cube faces splits white light into rainbow seams; caustic highlights pool on the virtual floor; soft bloom on the inner emission.
Live customizer

Ice Encased Logo

Logo (SVG / PNG / GLB)Transparent SVG, PNG, OR a 3D GLB/GLTF file. SVG/PNG silhouettes are extruded into a thin 3D plate centred inside the ice; GLB models are placed as-is with an emissive override.Logo size1Multiplies the auto-fit scale of the logo inside the block. 0.8–1.2 reads as a substantial embedded mark; below 0.5 looks lost.Logo glow colorEmissive tint added on top of the metallic emblem. The default emissive intensity is 0 — push the next slider above 0 to add a backlit glow.Logo glow intensity0How brightly the logo emits. 0 = realistic metallic emblem frozen in the ice; 0.5–1.0 reads as a softly backlit mark; above 2.0 reads as a neon pictogram.Block horizontal position0.32Shifts the ice block left/right inside the frame so heading text can sit opposite. Negative = left, positive = right.Block width1.7Width of the rounded cuboid (scene units).Block height1.5Height of the rounded cuboid.Block depth (Z)0.8Physical depth of the block in Z. Drives how much refraction the logo behind the front face picks up.Bevel radius0.18Radius of the rounded edges. 0.12–0.22 reads as a hand-chiseled ice block.Ice colourSurface colour of the ice. Pale blues read as real ice; warm tints turn it into amber resin.Ice transparency0.8How transparent the ice is. 0 = solid opaque ice, 1 = fully transmissive glass-like clarity.Ice tintBeer-Lambert attenuation colour — the tint that light picks up as it travels THROUGH the body (separate from the surface colour). Real glacier ice attenuates red first, hence pale blue.Tint distance1.5Distance over which the tint saturates. Lower = more saturated blue / cloudier interior (ice). Higher = clearer interior (glass).Surface roughness0.22Roughness of the ice. 0 = perfect mirror (glass); 0.05 = polished ice; 0.20–0.30 = real glacier ice with microscopic frost ridges.Clearcoat0.4Glossy top layer. 0.3–0.5 reads as ice (matte specular scatter); 1.0 reads as glass (sharp specular pips).Chromatic dispersion0.6Per-wavelength IOR spread — paints a subtle prism seam at the silhouette. 0.5–0.8 reads as a real cold-blue ice cube; above 1 reads as crystal.Initial frost density0.4How much frost covers the front face when the page loads. Default 0.4 reads as a freshly-out-of-freezer surface.Residual frost0.05Frost that stays after the reveal completes. 0.05 keeps the logo crisply visible while leaving feathered traces.Melt duration2sHDRI environmentEquirectangular HDRI used by PMREMGenerator as the reflection probe. Drives the clearcoat highlights and the bend through the body.Environment intensity1.1Strength of HDRI-driven reflections + transmission lighting.Key light colorFill light colorRim light colorKey intensity3.2Fill intensity0.8Rim intensity2Auto rotation speed0.1Y-axis auto-spin (rad/sec). 0.08–0.15 = slow showcase drift.Pointer parallax (X)5°Pointer parallax (Y)3°Drag inertia0.85Spin retention after a drag flick.Background top colorBackground bottom colorShadow strength0.6Shadow blur3.5Heading FontInteractivityWhich input drives the hero — try Scroll if you want the page to drive motion.
CrazyGL · crazygl.comProgrammable hero sections for real websites.