Browser GLSL workspace

Volume Shader online editor for GLSL fog, smoke, clouds, and fractals

The Volume Shader online editor is a WebGL2 workspace for writing and previewing GLSL fragment shaders that render volumetric effects. It is designed for ray marching experiments, procedural fog, smoke, cloud layers, and fractal scenes where every frame depends on shader-heavy GPU work.

The editor provides a full-screen triangle render path, a live canvas preview, and a compact set of uniforms: u_time for animation, u_resolution for pixel dimensions, and v_uv for normalized coordinates. These inputs match the presets used elsewhere on the site, so a shader can move from the preset library into the editor without a separate build step.

Use this page to inspect how a volume shader behaves before treating it as a benchmark workload. Load a preset, adjust the fragment shader, watch compile errors near the editor, then download the GLSL source or create a share link for another browser. All rendering happens locally in the browser; the shared link stores encoded shader source in the URL rather than uploading a file to a server.

The server-rendered guide stays separate from the interactive editor controls so crawlers can understand the tool even before the WebGL canvas hydrates. The live editor still supports preset links, encoded share links, GLSL download, and local file import, but the page metadata describes the application rather than echoing any visitor-supplied shader source into the HTML.

Editor workflow

Start from the default shader, open a preset, or import a local `.glsl` file.

Preview updates automatically after a short debounce so compile feedback stays responsive.

Use download or share when you need to reproduce the same shader on another device.

GLSL ES 3.0 editing

Write fragment shaders with the same u_time, u_resolution, and v_uv inputs used by the live preview.

Real-time WebGL2 preview

Render fog, smoke, clouds, fractals, and ray-marched volume effects directly in the browser.

Shareable experiments

Load presets by URL, encode shader source into a share link, and keep quick iterations easy to reproduce.
Loading editor controls...