forked from BabylonJS/Babylon-Lite
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscene-config-webgl.json
More file actions
167 lines (167 loc) · 7.11 KB
/
Copy pathscene-config-webgl.json
File metadata and controls
167 lines (167 loc) · 7.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
[
{
"id": 1,
"slug": "gl-gradient",
"name": "Scene 1 — Animated Gradient",
"description": "Fullscreen animated gradient rendered with @babylonjs/lite-gl (createEffect + EffectWrapper + cached uniform setters).",
"tags": ["effect", "shader", "procedural"],
"maxMad": 2.0,
"maxRawKB": 12,
"skipParity": false,
"skipPerf": false
},
{
"id": 2,
"slug": "gl-plasma",
"name": "Scene 2 — Plasma",
"description": "Fullscreen procedural plasma effect rendered with @babylonjs/lite-gl, animated via the uTime uniform.",
"tags": ["effect", "shader", "procedural"],
"maxMad": 2.0,
"maxRawKB": 12,
"skipParity": false,
"skipPerf": false
},
{
"id": 3,
"slug": "gl-textured",
"name": "Scene 3 — Textured Quad",
"description": "Two textures sampled in one custom fragment shader: a procedural checkerboard via createRawTexture and a generated PNG via loadTexture2D, blended by an animated wipe (setEffectTexture + setEffectFloat2).",
"tags": ["texture"],
"maxMad": 2.0,
"maxRawKB": 17,
"skipParity": false,
"skipPerf": false
},
{
"id": 4,
"slug": "gl-sprites",
"name": "Scene 4 — Sprites",
"description": "A drifting, hue-cycling field of 64 tinted sprites drawn with the @babylonjs/lite-gl sprite renderer over a procedural glow-disc sheet (identity view/projection maps sprite positions straight to clip space).",
"tags": ["sprites"],
"maxMad": 2.0,
"maxRawKB": 21,
"skipParity": false,
"skipPerf": false
},
{
"id": 5,
"slug": "gl-blend-modes",
"name": "Scene 5 — Blend Modes",
"description": "Three overlapping disc clusters drawn with setBlendMode under GLBlendMode.ADD, ALPHA and PREMULTIPLIED — the additive cluster blooms bright where discs overlap.",
"tags": ["blend"],
"maxMad": 2.0,
"maxRawKB": 14,
"skipParity": false,
"skipPerf": false
},
{
"id": 6,
"slug": "gl-html-texture",
"name": "Scene 6 — HTML-Element Texture",
"description": "An animated offscreen 2D canvas wrapped via @babylonjs/lite-gl html-element textures, re-uploaded each frame with updateHtmlElementTexture and sampled fullscreen (with an in-shader V-flip).",
"tags": ["texture", "dynamic"],
"maxMad": 2.0,
"maxRawKB": 15,
"skipParity": false,
"skipPerf": false
},
{
"id": 7,
"slug": "gl-sine-bands",
"name": "Scene 7 — Sine Wave Bands",
"description": "Layered phase-shifted sine bands tinted by a cosine-gradient palette (createEffect + EffectWrapper). Original lite-gl reimplementation inspired by shadertoy.com/view/tffSDr.",
"tags": ["effect", "shader", "procedural"],
"maxMad": 3.0,
"maxRawKB": 13,
"skipParity": false,
"skipPerf": false
},
{
"id": 8,
"slug": "gl-render-target",
"name": "Scene 8 — Render-to-Texture Round-Trip",
"description": "A procedural radial pattern rendered into an offscreen FBO via @babylonjs/lite-gl (createRenderTarget + bindRenderTarget), then sampled fullscreen to the screen with an aspect-corrected vignette — a deterministic render-to-texture round-trip.",
"tags": ["texture", "rtt"],
"maxMad": 2.0,
"maxRawKB": 17,
"skipParity": false,
"skipPerf": false
},
{
"id": 9,
"slug": "gl-ping-pong-feedback",
"name": "Scene 9 — Ping-Pong Feedback",
"description": "A radial pattern evolved through 6 fixed ping-pong feedback iterations on a pair of offscreen render targets (a ping-pong pair of render targets), then composited fullscreen with an aspect-corrected vignette — a deterministic frame-feedback round-trip.",
"tags": ["texture", "rtt"],
"maxMad": 2.0,
"maxRawKB": 18.5,
"skipParity": false,
"skipPerf": false
},
{
"id": 10,
"slug": "gl-mesh",
"name": "Scene 10 — Indexed Mesh + Instancing",
"description": "An indexed mesh drawn from @babylonjs/lite-gl via the VAO-cached static-mesh path (createVertexBuffer + createIndexBuffer + createMeshVao + drawMesh) as several depth-tested instances, with setDepthState/setCullState — recording the attribute layout into one VAO so the per-frame draw is a single bind + drawElementsInstanced (no per-frame vertexAttribPointer).",
"tags": ["mesh", "depth"],
"maxMad": 2.0,
"maxRawKB": 15,
"skipParity": false,
"skipPerf": false
},
{
"id": 11,
"slug": "gl-stencil",
"name": "Scene 11 — Stencil Masking",
"description": "A stencil mask written into an offscreen render target's stencil buffer (generateRenderTargetStencil from @babylonjs/lite-gl + setStencilState), then a fullscreen pattern drawn only where the stencil test passes.",
"tags": ["stencil", "rtt"],
"maxMad": 2.0,
"maxRawKB": 20,
"skipParity": false,
"skipPerf": false
},
{
"id": 12,
"slug": "gl-scissor",
"name": "Scene 12 — Scissor Rectangles",
"description": "Independent scissor-clipped clears and draws (setScissor/disableScissor) tiling the canvas into deterministic colored regions.",
"tags": ["scissor"],
"maxMad": 1.5,
"maxRawKB": 7,
"skipParity": false,
"skipPerf": false
},
{
"id": 13,
"slug": "gl-dynamic-texture",
"name": "Scene 13 — Dynamic Texture",
"description": "A canvas-backed dynamic texture (createDynamicTexture + updateDynamicTexture from @babylonjs/lite-gl) re-uploaded from a deterministically drawn 2D canvas and sampled fullscreen.",
"tags": ["texture", "dynamic"],
"maxMad": 2.0,
"maxRawKB": 14.5,
"skipParity": false,
"skipPerf": false
},
{
"id": 14,
"slug": "gl-float-rt",
"name": "Scene 14 — Float (HDR) Render Target",
"description": "A high-dynamic-range pattern (values > 1.0) rendered into a half-float render target (createFloatRenderTarget from @babylonjs/lite-gl), then tone-mapped to the LDR screen — the HDR opt-in counterpart of the RGBA8 render-target path.",
"tags": ["texture", "rtt", "hdr"],
"maxMad": 3.0,
"maxRawKB": 17.5,
"skipParity": false,
"skipPerf": false
},
{
"id": 15,
"slug": "gl-multi-sprite",
"name": "Scene 15 — Multiple Sprite Renderers",
"description": "Two @babylonjs/lite-gl sprite renderers (a glow-disc layer and a ring layer) draw over a gradient background. Both compile the same sprite shader, so the source-keyed effect cache hands them ONE shared WebGLProgram and gl.useProgram is issued only once across the two — the redundant-useProgram fix in action.",
"tags": ["sprites"],
"maxMad": 2.0,
"maxRawKB": 21.5,
"skipParity": false,
"skipPerf": false
}
]