Open format · Alpha profile
.hexshader
An open format for procedural shaders and animation.
Package shader source, creative controls, named looks and supporting assets in one portable file. Create in 360 Hextile. Build support into your own app, including a commercial one.
The specification and original tutorial examples are CC0 1.0. No Hextile purchase, format fee, permission request or attribution is required to implement it. Individual shader packages and resources can have their own licenses.
Share the working shader
A .hexshader is a validated ZIP package, carrying the source and the values that made the look. Current exports use bundle schema 4.
scene.hexshader ├── bundle.json inventory + snapshot ├── source.glsl native GLSL ├── manifest.json controls + ABI ├── values.json chosen values ├── provenance.json content origin ├── modules/… declared helpers ├── looks/… named looks └── resources/… optional PNG inputs
Keep motion with the look
A host supplies content time, frame and frame rate. Packages can declare timelines, parameter expressions, modulation and ordered image sequences. A compatible host evaluates each required capability or refuses the package.
vec4 hxMain(in HxFrag hx) {
float pulse = 0.5 + 0.5 * sin(hx.time);
return vec4(vec3(pulse), 1.0);
}
Use it in your own software
The format reference defines inventory, hashes, the native shader ABI and capability negotiation. It is for independent implementers. The 360 Hextile Shader Workshop is Alpha, and format adoption does not make the desktop app open source or guarantee identical output on every GPU.