Skip to content

Commit a4aa94a

Browse files
authored
Merge pull request #3 from web3dev1337/feature/editor-usability-work1
feat: add README + GitHub nav link
2 parents 248f06e + c55cfa3 commit a4aa94a

2 files changed

Lines changed: 93 additions & 0 deletions

File tree

README.md

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
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

src/ui/top-nav.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,14 @@ function initTopNav() {
120120
spacer.className = "nav-spacer";
121121
nav.appendChild(spacer);
122122

123+
const ghLink = document.createElement("a");
124+
ghLink.className = "nav-credit";
125+
ghLink.href = "https://github.com/web3dev1337/effect-texture-maker";
126+
ghLink.target = "_blank";
127+
ghLink.style.cssText = "color:#666;font-size:10px;margin-right:8px";
128+
ghLink.textContent = "GitHub";
129+
nav.appendChild(ghLink);
130+
123131
const credit = document.createElement("a");
124132
credit.className = "nav-credit";
125133
credit.href = "https://github.com/mebiusbox/EffectTextureMaker";

0 commit comments

Comments
 (0)