Shader effect format

Portable

Portable is the open Portable Effects Format for writing Noisedeck-compatible shader effects in any editor, as a definition file plus GLSL and WGSL shaders.

  • Free
  • MIT license
  • GLSL and WGSL
  • Bring your own editor

Overview

The Portable Effects Format is an open standard for sharing shader effects across the Noise Factor tools. An effect is a folder with a definition.json file and GLSL or WGSL shader code. Write it in any editor, test it in the included viewer, and package it as a ZIP.

Noisedeck, Polymorphic, Foundry, and Visualize import Portable effects. Imported effects register in the user namespace and work in Polymorphic programs like built-in effects. Effects you create are your own.

Features

Specifications

TypeOpen file format and reference viewer
Filesdefinition.json, glsl/, wgsl/, optional help.md, packaged as ZIP
Shader languagesGLSL ES 3.00 (WebGL2), WGSL (WebGPU)
Effect typesStarter and filter. Mixer, 3D, points, and render types are not supported yet.
StatusThe specification is being finalized and can change.
Sourcegithub.com/noisefactorllc/portable
LicenseMIT
PriceFree

Get started

  1. Clone the Portable repository and copy an example effect.
  2. Edit definition.json and the shader code in your editor.
  3. Run the viewer with npm run dev and test both backends.
  4. Run npm run package and import the ZIP in Noisedeck.

Resources

Questions

Which apps can load Portable effects?
Noisedeck, Polymorphic, Foundry, and Visualize import Portable effect packages.
Do I need both GLSL and WGSL?
No. An effect needs at least one. An effect with only GLSL runs on WebGL2, and an effect with only WGSL runs on WebGPU.
Who owns an effect I write?
You do. The format is open under the MIT license, and effects you create are your own.