React Smoke Shaders
React smoke with GPU volumetric rendering. Realistic smoke effects for Next.js with TypeScript and shadcn/ui—free code.
Powered by
Building smoke effects?
Join our Discord community for help from other developers working with GPU smoke simulation and volumetric effects.
Need realistic smoke effects without heavy particle systems? Most developers use static images or simple opacity gradients that lack depth. This React smoke component uses GPU volumetric rendering to create convincing smoke with upward flow, turbulence, natural dissipation, and atmospheric lighting.
Copy-paste TypeScript component that creates immersive smoke effects with multiple columns and organic movement patterns. Volumetric noise generates realistic smoke density with proper scattering. Built for Next.js applications with shadcn/ui design system. GPU-accelerated—authentic smoke simulation.
React smoke with GPU volumetric rendering
Realistic volumetric smoke with upward flow, turbulence, and natural dissipation:
Original shader by Dov Azencot
Perfect for React 19, Next.js 15, and modern TypeScript projects. Smoke effects rendered entirely on GPU using GLSL volumetric algorithms with fractal noise. Customizable speed, density, turbulence, height, and dissipation. Full shadcn/ui compatibility with Tailwind CSS styling.
Installation
npx shadcn@latest add https://www.shadcn.io/registry/smoke-shaders.json
npx shadcn@latest add https://www.shadcn.io/registry/smoke-shaders.json
pnpm dlx shadcn@latest add https://www.shadcn.io/registry/smoke-shaders.json
bunx shadcn@latest add https://www.shadcn.io/registry/smoke-shaders.json
Usage
import { SmokeShaders } from "@/components/ui/smoke-shaders";
export default function IndustrialBackground() {
return (
<SmokeShaders
speed={0.8}
density={1.1}
turbulence={1.2}
height={1.0}
dissipation={0.8}
>
<div className="relative z-10">
<h1>Content over smoke</h1>
</div>
</SmokeShaders>
);
}
Why smoke animations struggle with realism
CSS opacity effects can't simulate volumetric properties. Video backgrounds lack interactivity and proper depth. Most libraries use simple particle systems that don't capture the complex fluid dynamics of real smoke behavior.
GPU volumetric rendering solves this with mathematical smoke simulation. 3D noise creates realistic density variation. Upward flow with turbulence mimics thermal convection. Natural dissipation patterns simulate how real smoke disperses in atmosphere.
This React smoke component uses GLSL mathematics for authentic smoke behavior. Multiple smoke columns with independent turbulence. Volumetric lighting simulates light scattering through smoke particles. Realistic color transitions from warm base to cool dissipated areas.
React smoke shader features
- Volumetric rendering - 3D noise creates realistic smoke density with proper depth
- Multiple smoke columns - Three independent smoke sources with organic variation
- Upward flow dynamics - Thermal convection simulation with natural upward movement
- Turbulence systems - Multiple layers of fractal noise create organic smoke motion
- Natural dissipation - Smoke gradually fades and disperses like real atmospheric smoke
- Swirling motion - Rotational flow patterns add authentic smoke behavior
- Volumetric lighting - Light scattering through smoke creates realistic illumination
- Realistic color palette - Gray gradients with subtle warm tones near smoke base
- Ambient smoke wisps - Background smoke layers add atmospheric depth
- Height-based expansion - Smoke columns expand naturally as they rise
- TypeScript React component - Full IDE support with prop definitions
- Next.js compatible - Works with App Router and modern React patterns
- shadcn/ui integration - Consistent with Tailwind CSS design systems
- Copy-paste installation - No vendor lock-in, you own the shader code
- Industrial aesthetics - Perfect for atmospheric, dramatic, or industrial themes
API Reference
SmokeShaders
Main container component for the volumetric smoke effect.
Prop | Type | Default | Description |
---|---|---|---|
speed | number | 1.0 | Smoke movement and flow speed (0.1 to 3.0) |
density | number | 1.0 | Smoke thickness and opacity (0.3 to 2.0) |
turbulence | number | 1.0 | Chaotic movement intensity (0.5 to 3.0) |
height | number | 1.0 | Smoke column height and reach (0.5 to 2.0) |
dissipation | number | 1.0 | Smoke fade and dispersal rate (0.2 to 2.0) |
className | string | - | Additional Tailwind CSS classes |
...props | HTMLAttributes<HTMLDivElement> | - | All standard div props |
GPU smoke troubleshooting
Smoke too light: Increase density
to 1.5+ for thicker, more visible smoke. Volumetric rendering creates realistic transparency that may appear subtle.
Movement too slow/fast: Adjust speed
for natural smoke flow. 0.5 creates slow, heavy smoke. 1.5+ creates light, rapidly moving vapor effects.
Not enough chaos: Increase turbulence
to 2.0+ for more chaotic, swirling smoke patterns. Lower values create smooth, laminar flow effects.
Smoke too short/tall: Use height
to control vertical extent. 0.7 creates low, ground-level smoke. 1.5+ creates towering smoke columns.
Too persistent: Increase dissipation
to 1.5+ for faster smoke dispersal. Lower values create thick, persistent smoke that lingers longer.
Mobile performance issues: GPU volumetric calculation is intensive. Lower density
to 0.8 and reduce noise octaves on mobile devices for smoother performance.
GPU compatibility: Smoke effects require GPU for real-time volumetric calculation. Provide CSS gradient fallbacks for older devices without sufficient processing power.
More React shader components
Explore other GPU-accelerated shader components for Next.js applications:
Fire Shaders
Realistic fire effects with organic flame movement and heat distortion
Sea Shaders
3D ocean vista with ray marching, rolling waves, and atmospheric perspective
Water Shaders
Realistic water surface with reflections, caustics, and depth variation
Gradient Mesh Shaders
Dynamic multi-point gradients with organic movement and smooth color transitions
Hologram Shaders
Sci-fi holographic effects with interference patterns and chromatic aberration
Plasma Shaders
Organic energy effects with flowing plasma patterns and smooth color cycling
React smoke effect FAQ
React Singularity Shaders
React blackhole singularity with whirling effects. Cosmic vortex patterns for Next.js with TypeScript and shadcn/ui—free code.
React Smooth Noise Contours
Anti-aliased Simplex noise contours with smooth fract functions. Pure WebGL abstract patterns for React with TypeScript and shadcn/ui—smooth GPU noise visualization.