|
| 1 | +# EffectTextureMaker — Enhanced Edition |
| 2 | + |
| 3 | +A professional WebGL procedural texture generator running entirely in your browser. Multi-layer compositing, gradient color mapping, PBR material generation, 3D preview, custom GLSL shaders, and more. |
| 4 | + |
| 5 | +**[Live Demo](https://web3dev1337.github.io/effect-texture-maker/showcase.html)** |
| 6 | + |
| 7 | +## Pages |
| 8 | + |
| 9 | +| Page | Description | |
| 10 | +|------|-------------| |
| 11 | +| [Showcase](https://web3dev1337.github.io/effect-texture-maker/showcase.html) | Guided tour through all features — live renders, 3D preview, PBR maps | |
| 12 | +| [Editor](https://web3dev1337.github.io/effect-texture-maker/editor.html) | Full texture editor with layers, gradients, PBR export, undo/redo | |
| 13 | +| [Gallery](https://web3dev1337.github.io/effect-texture-maker/gallery.html) | Live animated gallery of 70+ procedural effects | |
| 14 | +| [Material Forge](https://web3dev1337.github.io/effect-texture-maker/demos.html) | 3D material demo — textures mapped onto lit, spinning objects with bloom | |
| 15 | +| [Sprite Gallery](https://web3dev1337.github.io/effect-texture-maker/sprite-gallery.html) | 119 animated sprite sheets (100 FXGEN + 52 custom GLSL) | |
| 16 | +| [Particles](https://web3dev1337.github.io/effect-texture-maker/particles.html) | 3D particle viewport with sprite-sheet-driven effects | |
| 17 | +| [Classic Editor](https://web3dev1337.github.io/effect-texture-maker/index.html) | Original single-layer editor (preserved for compatibility) | |
| 18 | + |
| 19 | +## Features |
| 20 | + |
| 21 | +### Editor |
| 22 | +- **65+ procedural effect types** — explosions, fire, plasma, voronoi, fractals, caustics, and more |
| 23 | +- **52 custom GLSL shaders** — raymarched nebulae, black holes, warp tunnels, fractals, cosmic phenomena |
| 24 | +- **Multi-layer compositing** — unlimited layers with 9 blend modes (Normal, Multiply, Screen, Overlay, etc.) |
| 25 | +- **Gradient color mapping** — multi-stop gradient editor with 5 presets, applied as a luminance remap |
| 26 | +- **PBR map generation** — auto-generates Normal, Roughness, AO, and Metallic maps from any texture |
| 27 | +- **3D material preview** — real-time preview on sphere/cube/torus knot/cylinder with environment reflections, ACES tone mapping, and shadow-casting lights |
| 28 | +- **Undo/Redo** — 50-state history with Ctrl+Z / Ctrl+Shift+Z |
| 29 | +- **Export** — PNG, JPEG, ZIP bundles with all PBR maps, resolution selector up to 2048x2048 |
| 30 | + |
| 31 | +### Sprite Sheets |
| 32 | +- **119 pre-rendered sprite sheets** — 6x6 grid, 36 frames each |
| 33 | +- **100 FXGEN effects** — generated from the pixy shader library |
| 34 | +- **52 custom GLSL shaders** — hand-written fragment shaders (volumetric raymarching, fractals, physics sims) |
| 35 | +- **Game-ready** — transparent PNGs with alpha, suitable for particle systems and VFX |
| 36 | + |
| 37 | +### Showcase |
| 38 | +- **Dark Ritual Portal** — multi-layer composite build walkthrough |
| 39 | +- **Material Forge** — live 3D scene with PBR materials, bloom, and environment lighting |
| 40 | +- **7 chapters** — from raw effects through color balance, gradients, layers, compositing, PBR maps, to 3D preview |
| 41 | + |
| 42 | +## Tech Stack |
| 43 | + |
| 44 | +- **Three.js** 0.174.0 — WebGL rendering, 3D preview, PBR materials |
| 45 | +- **pixy shader library** — 65+ procedural effect fragment shaders (minified, read-only) |
| 46 | +- **Custom GLSL** — 52 hand-written shaders bypassing pixy entirely |
| 47 | +- **lil-gui** — parameter controls |
| 48 | +- **JSZip** — ZIP export (loaded on demand) |
| 49 | +- No build step, no bundler — pure ES modules served directly |
| 50 | + |
| 51 | +## Architecture |
| 52 | + |
| 53 | +``` |
| 54 | +editor.html Main editor (loads src/app.js) |
| 55 | +src/ |
| 56 | + app.js Main coordinator |
| 57 | + render-pipeline.js 6-pass pipeline (Base -> Polar -> ColorBalance -> Tiling -> Normal -> Copy) |
| 58 | + layer-manager.js Multi-layer CRUD, reorder, duplicate |
| 59 | + compositor.js Ping-pong render target compositor, 9 blend modes |
| 60 | + gradient-editor.js Multi-stop gradient editor |
| 61 | + pbr-generator.js Normal/Roughness/AO/Metallic pass generation |
| 62 | + preview-3d.js 3D preview with PMREM environment, ACES tone mapping, shadows |
| 63 | + history.js Undo/redo (50 snapshots) |
| 64 | + export.js PNG/JPEG/ZIP export |
| 65 | + ui/ GUI panels, layer panel, toolbar, action dock |
| 66 | + shaders/ Blend modes, gradient map, tiling, PBR shaders |
| 67 | +shader-defs.js 52 custom GLSL shader sources |
| 68 | +``` |
| 69 | + |
| 70 | +## Running Locally |
| 71 | + |
| 72 | +```bash |
| 73 | +python3 -m http.server 4444 |
| 74 | +# Open http://localhost:4444/editor.html |
| 75 | +``` |
| 76 | + |
| 77 | +## Credits |
| 78 | + |
| 79 | +Built on [EffectTextureMaker](https://github.com/mebiusbox/EffectTextureMaker) by [mebiusbox](https://github.com/mebiusbox) (MIT License). The original tool provides the core procedural shader library (pixy) and single-layer editor. |
| 80 | + |
| 81 | +This fork adds multi-layer compositing, gradient mapping, PBR generation, 3D preview, custom GLSL shaders, sprite sheet generation, the showcase, material forge, and the enhanced editor UI. |
| 82 | + |
| 83 | +## License |
| 84 | + |
| 85 | +MIT |
0 commit comments