|
|
@@ -27,7 +27,7 @@
|
|
|
<script type="module">
|
|
|
|
|
|
import * as THREE from 'three';
|
|
|
- import { luminance, cos, float, min, timerLocal, atan2, uniform, pass, PI, PI2, color, positionLocal, oneMinus, sin, texture, Fn, uv, vec2, vec3, vec4 } from 'three/tsl';
|
|
|
+ import { luminance, cos, float, min, time, atan2, uniform, pass, PI, PI2, color, positionLocal, oneMinus, sin, texture, Fn, uv, vec2, vec3, vec4 } from 'three/tsl';
|
|
|
import { bloom } from 'three/addons/tsl/display/BloomNode.js';
|
|
|
|
|
|
import { OrbitControls } from 'three/addons/controls/OrbitControls.js';
|
|
|
@@ -111,14 +111,14 @@
|
|
|
|
|
|
floorMaterial.outputNode = Fn( () => {
|
|
|
|
|
|
- const time = timerLocal().mul( timeScale );
|
|
|
+ const scaledTime = time.mul( timeScale );
|
|
|
|
|
|
// noise 1
|
|
|
const noise1Uv = toRadialUv(
|
|
|
uv(),
|
|
|
vec2( 0.5, 0.5 ),
|
|
|
- time,
|
|
|
- time
|
|
|
+ scaledTime,
|
|
|
+ scaledTime
|
|
|
);
|
|
|
noise1Uv.assign( toSkewedUv(
|
|
|
noise1Uv,
|
|
|
@@ -131,8 +131,8 @@
|
|
|
const noise2Uv = toRadialUv(
|
|
|
uv(),
|
|
|
vec2( 2, 8 ),
|
|
|
- time.mul( 2 ),
|
|
|
- time.mul( 8 )
|
|
|
+ scaledTime.mul( 2 ),
|
|
|
+ scaledTime.mul( 8 )
|
|
|
);
|
|
|
noise2Uv.assign( toSkewedUv(
|
|
|
noise2Uv,
|
|
|
@@ -172,14 +172,14 @@
|
|
|
|
|
|
const emissiveMaterial = new THREE.MeshBasicNodeMaterial( { transparent: true, side: THREE.DoubleSide, wireframe: false } );
|
|
|
|
|
|
- emissiveMaterial.positionNode = twistedCylinder( positionLocal, parabolStrength, parabolOffset, parabolAmplitude.sub( 0.05 ), timerLocal().mul( timeScale ) );
|
|
|
+ emissiveMaterial.positionNode = twistedCylinder( positionLocal, parabolStrength, parabolOffset, parabolAmplitude.sub( 0.05 ), time.mul( timeScale ) );
|
|
|
|
|
|
emissiveMaterial.outputNode = Fn( () => {
|
|
|
|
|
|
- const time = timerLocal().mul( timeScale );
|
|
|
+ const scaledTime = time.mul( timeScale );
|
|
|
|
|
|
// noise 1
|
|
|
- const noise1Uv = uv().add( vec2( time, time.negate() ) ).toVar();
|
|
|
+ const noise1Uv = uv().add( vec2( scaledTime, scaledTime.negate() ) ).toVar();
|
|
|
noise1Uv.assign( toSkewedUv(
|
|
|
noise1Uv,
|
|
|
vec2( - 1, 0 )
|
|
|
@@ -188,7 +188,7 @@
|
|
|
const noise1 = texture( perlinTexture, noise1Uv, 1 ).r.remap( 0.45, 0.7 );
|
|
|
|
|
|
// noise 2
|
|
|
- const noise2Uv = uv().add( vec2( time.mul( 0.5 ), time.negate() ) ).toVar();
|
|
|
+ const noise2Uv = uv().add( vec2( scaledTime.mul( 0.5 ), scaledTime.negate() ) ).toVar();
|
|
|
noise2Uv.assign( toSkewedUv(
|
|
|
noise2Uv,
|
|
|
vec2( - 1, 0 )
|
|
|
@@ -223,14 +223,14 @@
|
|
|
|
|
|
const darkMaterial = new THREE.MeshBasicNodeMaterial( { transparent: true, side: THREE.DoubleSide, wireframe: false } );
|
|
|
|
|
|
- darkMaterial.positionNode = twistedCylinder( positionLocal, parabolStrength, parabolOffset, parabolAmplitude, timerLocal().mul( timeScale ) );
|
|
|
+ darkMaterial.positionNode = twistedCylinder( positionLocal, parabolStrength, parabolOffset, parabolAmplitude, time.mul( timeScale ) );
|
|
|
|
|
|
darkMaterial.outputNode = Fn( () => {
|
|
|
|
|
|
- const time = timerLocal().mul( timeScale ).add( 123.4 );
|
|
|
+ const scaledTime = time.mul( timeScale ).add( 123.4 );
|
|
|
|
|
|
// noise 1
|
|
|
- const noise1Uv = uv().add( vec2( time, time.negate() ) ).toVar();
|
|
|
+ const noise1Uv = uv().add( vec2( scaledTime, scaledTime.negate() ) ).toVar();
|
|
|
noise1Uv.assign( toSkewedUv(
|
|
|
noise1Uv,
|
|
|
vec2( - 1, 0 )
|
|
|
@@ -239,7 +239,7 @@
|
|
|
const noise1 = texture( perlinTexture, noise1Uv, 1 ).g.remap( 0.45, 0.7 );
|
|
|
|
|
|
// noise 2
|
|
|
- const noise2Uv = uv().add( vec2( time.mul( 0.5 ), time.negate() ) ).toVar();
|
|
|
+ const noise2Uv = uv().add( vec2( scaledTime.mul( 0.5 ), scaledTime.negate() ) ).toVar();
|
|
|
noise2Uv.assign( toSkewedUv(
|
|
|
noise2Uv,
|
|
|
vec2( - 1, 0 )
|