(folder)
| 250 | } |
| 251 | |
| 252 | function setupGUI(folder) { |
| 253 | folder.add(PARAMETERS, "speedMultiplier", 0, 1, 0.01); |
| 254 | folder.add(PARAMETERS, "objectRotation"); |
| 255 | folder.add(PARAMETERS, "pause"); |
| 256 | folder.add(PARAMETERS, "cameraRotation"); |
| 257 | folder.add(PARAMETERS, "fixedMinScale").onChange(() => { |
| 258 | meshes.forEach((m, i) => { |
| 259 | const { inTransition, isFadeIn, normT } = getTransitionState( |
| 260 | time, |
| 261 | dyno.dynoFloat(i), |
| 262 | dyno.dynoFloat((i + 1) % splatFiles.length), |
| 263 | dyno.dynoFloat(splatFiles.length), |
| 264 | ); |
| 265 | m.worldModifier = getTransitionModifier( |
| 266 | inTransition, |
| 267 | isFadeIn, |
| 268 | normT, |
| 269 | dyno.dynoInt(i), |
| 270 | time, |
| 271 | centerGLSL, |
| 272 | dyno.dynoBool(PARAMETERS.fixedMinScale), |
| 273 | dyno.dynoFloat(PARAMETERS.waves), |
| 274 | ); |
| 275 | m.updateGenerator(); |
| 276 | }); |
| 277 | }); |
| 278 | folder.add(PARAMETERS, "waves", 0, 1, 0.01).onChange(() => { |
| 279 | meshes.forEach((m, i) => { |
| 280 | const { inTransition, isFadeIn, normT } = getTransitionState( |
| 281 | time, |
| 282 | dyno.dynoFloat(i), |
| 283 | dyno.dynoFloat((i + 1) % splatFiles.length), |
| 284 | dyno.dynoFloat(splatFiles.length), |
| 285 | ); |
| 286 | m.worldModifier = getTransitionModifier( |
| 287 | inTransition, |
| 288 | isFadeIn, |
| 289 | normT, |
| 290 | dyno.dynoInt(i), |
| 291 | time, |
| 292 | centerGLSL, |
| 293 | dyno.dynoBool(PARAMETERS.fixedMinScale), |
| 294 | dyno.dynoFloat(PARAMETERS.waves), |
| 295 | ); |
| 296 | m.updateGenerator(); |
| 297 | }); |
| 298 | }); |
| 299 | return folder; |
| 300 | } |
| 301 | |
| 302 | function dispose() { |
| 303 | disposed = true; |
nothing calls this directly
no test coverage detected