Join our Discord Community

React Biomine Shaders

Organic biomine tunnel with gyroid surfaces and cellular patterns. Pure WebGL shaders for React with TypeScript and shadcn/ui—smooth GPU animations.

Powered by

Building biomine effects?

Join our Discord community for help from other developers working with WebGL shaders.


Look, we've all tried to build organic bio-tunnel effects. You either end up with basic mesh geometry that looks nothing like proper biological structures or JavaScript calculations that can't handle complex organic patterns smoothly. This React component uses advanced WebGL raymarching with gyroid surfaces and cellular patterns that actually runs at 60fps without melting your CPU.

Smooth biomine animation

Mesmerizing organic tunnel with flowing biomatter and cellular structures that won't destroy your performance metrics:

Loading component...

Created by Shane in 2016-09-03

Built for React applications with TypeScript and Next.js in mind. The animation runs entirely on the GPU using WebGL raymarching with gyroid lattices, cellular tiling, and subsurface scattering. Works seamlessly with shadcn/ui design systems.

Installation

npx shadcn@latest add https://www.shadcn.io/registry/biomine-shaders.json
npx shadcn@latest add https://www.shadcn.io/registry/biomine-shaders.json
pnpm dlx shadcn@latest add https://www.shadcn.io/registry/biomine-shaders.json
bunx shadcn@latest add https://www.shadcn.io/registry/biomine-shaders.json

Usage

import { BiomineShaders } from "@/components/ui/biomine-shaders";

export default function Hero() {
  return (
    <BiomineShaders>
      <div className="relative z-10">
        <h1>Your content here</h1>
      </div>
    </BiomineShaders>
  );
}

Why most organic tunnel implementations suck

Most developers try to animate bio-tunnels with particle systems or complex mesh generation. Bad idea. You're dealing with expensive organic geometry calculations, complex lighting models, and wondering why your React app feels sluggish. Some use canvas drawing with JavaScript bio-simulation, which sounds smart until you realize you're computing organic patterns for every pixel on every frame.

This React component uses mathematical gyroid surfaces with cellular tiling and subsurface scattering. The GPU handles everything using optimized raymarching with organic biomatter flow simulation. No JavaScript calculations, no mesh generation, just smooth 60fps mathematical bio-structures.

Features

  • Zero JavaScript animation overhead - Pure WebGL raymarching runs on GPU
  • Gyroid surface lattices with mathematically perfect organic structures
  • Cellular tiling patterns for realistic biological texturing
  • Subsurface scattering for authentic translucent biomatter effects
  • TypeScript definitions for proper IDE support in React projects
  • Customizable parameters with 4 props for complete control
  • Performance optimization through efficient raymarching loops
  • shadcn/ui compatible for consistent design systems
  • Responsive design with automatic canvas resizing

API Reference

BiomineShaders

Main container component for the biomine effect.

PropTypeDefaultDescription
speednumber1.0Camera movement speed (0.1 to 3.0)
pathIntensitynumber1.0Tunnel winding intensity (0.1 to 2.0)
biomatterFlownumber1.0Biomatter flow animation speed (0.1 to 3.0)
lightingnumber1.0Overall lighting intensity (0.1 to 2.0)
classNamestring-Additional Tailwind CSS classes
...propsHTMLAttributes<HTMLDivElement>-All standard div props

Common gotchas

Animation not working: WebGL might not be supported in the browser. The component logs warnings when WebGL initialization fails. Check browser compatibility.

Performance issues on mobile: Some older phones struggle with complex raymarching and subsurface scattering. Consider reducing speed and lighting props for better performance.

Tunnel appears too dark: Increase the lighting prop. Values around 1.5-2.0 work well for brighter environments.

Biomatter flow too intense: Lower the biomatterFlow prop for more subtle organic animation. Values around 0.5-0.7 work well for background effects.

Path winding too extreme: Adjust the pathIntensity prop. Lower values (0.3-0.5) create gentler curves, higher values (1.5-2.0) create more dramatic winding.

You might also like

Explore other shader-based background components for React applications:

Questions developers actually ask