tsl-textures 1.4.0 → 1.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/package.json +1 -1
- package/src/dyson-sphere.js +15 -6
- package/src/translator.js.bak +0 -69
package/README.md
CHANGED
|
@@ -44,7 +44,7 @@ a Dyson sphere texture from [dyson-texture.js](https://boytchev.github.io/tsl-te
|
|
|
44
44
|
[<img src="https://boytchev.github.io/tsl-textures/examples/example-protozoa.jpg">](https://boytchev.github.io/tsl-textures/examples/example-protozoa.html)
|
|
45
45
|
|
|
46
46
|
|
|
47
|
-
#### Example "Neck
|
|
47
|
+
#### Example "Neck massage"
|
|
48
48
|
|
|
49
49
|
Uses [rotator.js](https://boytchev.github.io/tsl-textures/docs/rotator.html)
|
|
50
50
|
texture that applies soft matrices on model vertices. This allows to make
|
package/package.json
CHANGED
package/src/dyson-sphere.js
CHANGED
|
@@ -16,6 +16,15 @@ var noisea = Fn( ([ pos ])=>{
|
|
|
16
16
|
|
|
17
17
|
} );
|
|
18
18
|
|
|
19
|
+
|
|
20
|
+
var smooth = Fn( ([ x ])=>{
|
|
21
|
+
|
|
22
|
+
var t = x.oneMinus().clamp( 0, 1 ).toVar();
|
|
23
|
+
return t.mul( t ).mul( float( 3 ).sub( t.mul( 2 ) ) );
|
|
24
|
+
|
|
25
|
+
} );
|
|
26
|
+
|
|
27
|
+
|
|
19
28
|
var noiseg = Fn( ([ pos ])=>{
|
|
20
29
|
|
|
21
30
|
var minx = pos.x.floor().toVar();
|
|
@@ -27,13 +36,13 @@ var noiseg = Fn( ([ pos ])=>{
|
|
|
27
36
|
var minz = pos.z.floor().toVar();
|
|
28
37
|
var maxz = minz.add( 1 ).toVar();
|
|
29
38
|
|
|
30
|
-
var dx = pos.x.fract()
|
|
31
|
-
var dy = pos.y.fract()
|
|
32
|
-
var dz = pos.z.fract()
|
|
39
|
+
var dx = smooth( pos.x.fract() ).toVar();
|
|
40
|
+
var dy = smooth( pos.y.fract() ).toVar();
|
|
41
|
+
var dz = smooth( pos.z.fract() ).toVar();
|
|
33
42
|
|
|
34
|
-
var mx = dx.oneMinus()
|
|
35
|
-
var my = dy.oneMinus()
|
|
36
|
-
var mz = dz.oneMinus()
|
|
43
|
+
var mx = smooth( dx.oneMinus() ).toVar();
|
|
44
|
+
var my = smooth( dy.oneMinus() ).toVar();
|
|
45
|
+
var mz = smooth( dz.oneMinus() ).toVar();
|
|
37
46
|
|
|
38
47
|
var n000 = noisea( vec3( minx, miny, minz ) ).mul( mx ).mul( my ).mul( mz ).toVar();
|
|
39
48
|
var n001 = noisea( vec3( minx, miny, maxz ) ).mul( mx ).mul( my ).mul( dz ).toVar();
|
package/src/translator.js.bak
DELETED
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
// TSL-Textures: Translator
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
import { Vector2, Vector3 } from "three";
|
|
7
|
-
import { cross, Fn, mix, modelNormalMatrix, normalLocal, positionLocal, sub, tangentLocal, vec3, vec4 } from 'three';
|
|
8
|
-
import { matTrans, selectPlanar } from 'tsl-textures/tsl-utils.js';
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
var surfacePos = Fn( ([ pos, params ])=>{
|
|
13
|
-
|
|
14
|
-
var zone = selectPlanar( pos, params.selectorAngles, params.selectorCenter, params.selectorWidth );
|
|
15
|
-
|
|
16
|
-
var T = matTrans( params.distance.mul( zone ) );
|
|
17
|
-
|
|
18
|
-
return T.mul( vec4( pos, 1 ) ).xyz;
|
|
19
|
-
|
|
20
|
-
} );
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
var translator = Fn( ( params )=>{
|
|
25
|
-
|
|
26
|
-
return surfacePos( positionLocal, params );
|
|
27
|
-
|
|
28
|
-
} );
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
translator.normal = Fn( ( params ) => {
|
|
33
|
-
|
|
34
|
-
var eps = 0.01;
|
|
35
|
-
|
|
36
|
-
var position = positionLocal,
|
|
37
|
-
normal = normalLocal.normalize().toVar(),
|
|
38
|
-
tangent = tangentLocal.normalize().mul( eps ).toVar(),
|
|
39
|
-
bitangent = cross( normal, tangent ).normalize().mul( eps ).toVar();
|
|
40
|
-
|
|
41
|
-
var pos = surfacePos( position, params );
|
|
42
|
-
var posU = surfacePos( position.add( tangent ), params );
|
|
43
|
-
var posV = surfacePos( position.add( bitangent ), params );
|
|
44
|
-
|
|
45
|
-
var dU = sub( posU, pos ),
|
|
46
|
-
dV = sub( posV, pos );
|
|
47
|
-
|
|
48
|
-
return modelNormalMatrix.mul( cross( dU, dV ).normalize() );
|
|
49
|
-
|
|
50
|
-
} );
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
translator.defaults = {
|
|
55
|
-
$name: 'Translator',
|
|
56
|
-
$positionNode: true,
|
|
57
|
-
$selectorPlanar: true,
|
|
58
|
-
|
|
59
|
-
distance: new Vector3( -0.5, 0, 0.2 ),
|
|
60
|
-
|
|
61
|
-
selectorCenter: new Vector3( 0, 0, 0 ),
|
|
62
|
-
selectorAngles: new Vector2( 0, 0 ),
|
|
63
|
-
selectorWidth: 0.7,
|
|
64
|
-
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
export { translator };
|