@thi.ng/shader-ast-js 1.0.26 → 1.0.28
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/CHANGELOG.md +1 -1
- package/README.md +1 -1
- package/api.js +0 -1
- package/env/bvec.js +17 -12
- package/env/float.js +37 -34
- package/env/int.js +23 -20
- package/env/ivec2.js +26 -23
- package/env/ivec3.js +26 -23
- package/env/ivec4.js +26 -23
- package/env/mat2.js +23 -20
- package/env/mat3.js +23 -20
- package/env/mat4.js +23 -20
- package/env/uint.js +23 -20
- package/env/uvec2.js +26 -23
- package/env/uvec3.js +26 -23
- package/env/uvec4.js +26 -23
- package/env/vec2.js +65 -62
- package/env/vec3.js +66 -63
- package/env/vec4.js +65 -62
- package/env.js +114 -96
- package/package.json +14 -11
- package/pool.js +66 -67
- package/runtime.js +44 -93
- package/target.js +201 -213
package/env/uvec4.js
CHANGED
|
@@ -13,27 +13,30 @@ import { subNU4, subU4 } from "@thi.ng/vectors/subi";
|
|
|
13
13
|
import { POOL_UVEC4 } from "../pool.js";
|
|
14
14
|
import { VEC4 } from "./vec4.js";
|
|
15
15
|
const { next, uniform } = POOL_UVEC4;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
16
|
+
const UVEC4 = {
|
|
17
|
+
...VEC4(POOL_UVEC4),
|
|
18
|
+
add: (a, b) => addU4(next(), a, b),
|
|
19
|
+
addvn: (a, b) => addNU4(next(), a, b),
|
|
20
|
+
addnv: (a, b) => addNU4(next(), b, a),
|
|
21
|
+
div: (a, b) => divU4(next(), a, b),
|
|
22
|
+
divvn: (a, b) => divNU4(next(), a, b),
|
|
23
|
+
divnv: (a, b) => divU4(null, uniform(a), b),
|
|
24
|
+
modi: (a, b) => fmod4(next(), a, b),
|
|
25
|
+
modivn: (a, b) => fmodN4(next(), a, b),
|
|
26
|
+
modinv: (a, b) => fmod4(null, uniform(a), b),
|
|
27
|
+
mul: (a, b) => mulU4(next(), a, b),
|
|
28
|
+
mulvn: (a, b) => mulNU4(next(), a, b),
|
|
29
|
+
mulnv: (a, b) => mulNU4(next(), b, a),
|
|
30
|
+
sub: (a, b) => subU4(next(), a, b),
|
|
31
|
+
subvn: (a, b) => subNU4(next(), a, b),
|
|
32
|
+
subnv: (a, b) => subU4(null, uniform(a), b),
|
|
33
|
+
bitand: (a, b) => bitAndU4(next(), a, b),
|
|
34
|
+
lshift: (a, b) => lshiftU4(next(), a, b),
|
|
35
|
+
bitnot1: (a) => bitNotU4(next(), a),
|
|
36
|
+
bitor: (a, b) => bitOrU4(next(), a, b),
|
|
37
|
+
rshift: (a, b) => rshiftU4(next(), a, b),
|
|
38
|
+
bitxor: (a, b) => bitXorU4(next(), a, b)
|
|
39
|
+
};
|
|
40
|
+
export {
|
|
41
|
+
UVEC4
|
|
39
42
|
};
|
package/env/vec2.js
CHANGED
|
@@ -51,66 +51,69 @@ import { sub2 } from "@thi.ng/vectors/sub";
|
|
|
51
51
|
import { subN2 } from "@thi.ng/vectors/subn";
|
|
52
52
|
import { tan2 } from "@thi.ng/vectors/tan";
|
|
53
53
|
import { Pool } from "../pool.js";
|
|
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
|
-
|
|
54
|
+
const VEC2 = ({ next, uniform }) => ({
|
|
55
|
+
abs: (a) => abs2(next(), a),
|
|
56
|
+
acos: (a) => acos2(next(), a),
|
|
57
|
+
add: (a, b) => add2(next(), a, b),
|
|
58
|
+
addnv: (a, b) => addN2(next(), b, a),
|
|
59
|
+
addvn: (a, b) => addN2(next(), a, b),
|
|
60
|
+
asin: (a) => asin2(next(), a),
|
|
61
|
+
atan: (a) => atan2(next(), a),
|
|
62
|
+
atannn: (a, b) => atan_22(next(), a, b),
|
|
63
|
+
ceil: (a) => ceil2(next(), a),
|
|
64
|
+
clamp: (x, a, b) => clamp2(next(), x, a, b),
|
|
65
|
+
cos: (a) => cos2(next(), a),
|
|
66
|
+
dec: (a) => subN2(next(), a, 1),
|
|
67
|
+
degrees: (a) => degrees2(next(), a),
|
|
68
|
+
dFdx: () => ZERO2,
|
|
69
|
+
dFdy: () => ZERO2,
|
|
70
|
+
distance: dist,
|
|
71
|
+
div: (a, b) => div2(next(), a, b),
|
|
72
|
+
divnv: (a, b) => div2(null, uniform(a), b),
|
|
73
|
+
divvn: (a, b) => divN2(next(), a, b),
|
|
74
|
+
dot: (a, b) => dot2(a, b),
|
|
75
|
+
exp: (a) => exp2(next(), a),
|
|
76
|
+
exp2: (a) => exp_22(next(), a),
|
|
77
|
+
faceForward: (a, b, c) => faceForward(next(), a, b, c),
|
|
78
|
+
floor: (a) => floor2(next(), a),
|
|
79
|
+
fract: (a) => fract2(next(), a),
|
|
80
|
+
fwidth: () => ZERO2,
|
|
81
|
+
inc: (a) => addN2(next(), a, 1),
|
|
82
|
+
inversesqrt: (a) => invSqrt2(next(), a),
|
|
83
|
+
length: mag,
|
|
84
|
+
log: (a) => log2(next(), a),
|
|
85
|
+
log2: (a) => log_22(next(), a),
|
|
86
|
+
max: (a, b) => max2(next(), a, b),
|
|
87
|
+
min: (a, b) => min2(next(), a, b),
|
|
88
|
+
mix: (a, b, t) => mix2(next(), a, b, t),
|
|
89
|
+
mixn: (a, b, t) => mixN2(next(), a, b, t),
|
|
90
|
+
mod: (a, b) => mod2(next(), a, b),
|
|
91
|
+
modn: (a, b) => modN2(next(), a, b),
|
|
92
|
+
mul: (a, b) => mul2(next(), a, b),
|
|
93
|
+
mulnv: (a, b) => mulN2(next(), b, a),
|
|
94
|
+
mulvn: (a, b) => mulN2(next(), a, b),
|
|
95
|
+
normalize: (a) => normalize2(next(), a),
|
|
96
|
+
pow: (a, b) => pow2(next(), a, b),
|
|
97
|
+
radians: (a) => radians2(next(), a),
|
|
98
|
+
reflect: (a, b) => reflect(next(), a, b),
|
|
99
|
+
refract: (a, b, c) => refract(next(), a, b, c),
|
|
100
|
+
sign: (a) => sign2(next(), a),
|
|
101
|
+
sin: (a) => sin2(next(), a),
|
|
102
|
+
smoothstep: (a, b, t) => smoothStep2(next(), a, b, t),
|
|
103
|
+
sqrt: (a) => sqrt2(next(), a),
|
|
104
|
+
step: (a, b) => step2(next(), a, b),
|
|
105
|
+
sub: (a, b) => sub2(next(), a, b),
|
|
106
|
+
sub1: (a) => neg(next(), a),
|
|
107
|
+
subnv: (a, b) => sub2(null, uniform(a), b),
|
|
108
|
+
subvn: (a, b) => subN2(next(), a, b),
|
|
109
|
+
tan: (a) => tan2(next(), a),
|
|
110
|
+
equal: (a, b) => eq2([], a, b),
|
|
111
|
+
notEqual: (a, b) => neq2([], a, b),
|
|
112
|
+
greaterThan: (a, b) => gt2([], a, b),
|
|
113
|
+
lessThan: (a, b) => lt2([], a, b),
|
|
114
|
+
greaterThanEqual: (a, b) => gte2([], a, b),
|
|
115
|
+
lessThanEqual: (a, b) => lte2([], a, b)
|
|
116
116
|
});
|
|
117
|
+
export {
|
|
118
|
+
VEC2
|
|
119
|
+
};
|
package/env/vec3.js
CHANGED
|
@@ -52,67 +52,70 @@ import { sub3 } from "@thi.ng/vectors/sub";
|
|
|
52
52
|
import { subN3 } from "@thi.ng/vectors/subn";
|
|
53
53
|
import { tan3 } from "@thi.ng/vectors/tan";
|
|
54
54
|
import { Pool } from "../pool.js";
|
|
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
|
-
|
|
55
|
+
const VEC3 = ({ next, uniform }) => ({
|
|
56
|
+
abs: (a) => abs3(next(), a),
|
|
57
|
+
acos: (a) => acos3(next(), a),
|
|
58
|
+
add: (a, b) => add3(next(), a, b),
|
|
59
|
+
addnv: (a, b) => addN3(next(), b, a),
|
|
60
|
+
addvn: (a, b) => addN3(next(), a, b),
|
|
61
|
+
asin: (a) => asin3(next(), a),
|
|
62
|
+
atan: (a) => atan3(next(), a),
|
|
63
|
+
atannn: (a, b) => atan_23(next(), a, b),
|
|
64
|
+
ceil: (a) => ceil3(next(), a),
|
|
65
|
+
clamp: (x, a, b) => clamp3(next(), x, a, b),
|
|
66
|
+
cos: (a) => cos3(next(), a),
|
|
67
|
+
cross: (a, b) => cross3(next(), a, b),
|
|
68
|
+
dec: (a) => subN3(next(), a, 1),
|
|
69
|
+
degrees: (a) => degrees3(next(), a),
|
|
70
|
+
dFdx: () => ZERO3,
|
|
71
|
+
dFdy: () => ZERO3,
|
|
72
|
+
distance: dist,
|
|
73
|
+
div: (a, b) => div3(next(), a, b),
|
|
74
|
+
divnv: (a, b) => div3(null, uniform(a), b),
|
|
75
|
+
divvn: (a, b) => divN3(next(), a, b),
|
|
76
|
+
dot: (a, b) => dot3(a, b),
|
|
77
|
+
exp: (a) => exp3(next(), a),
|
|
78
|
+
exp2: (a) => exp_23(next(), a),
|
|
79
|
+
faceForward: (a, b, c) => faceForward(next(), a, b, c),
|
|
80
|
+
floor: (a) => floor3(next(), a),
|
|
81
|
+
fract: (a) => fract3(next(), a),
|
|
82
|
+
fwidth: () => ZERO3,
|
|
83
|
+
inc: (a) => addN3(next(), a, 1),
|
|
84
|
+
inversesqrt: (a) => invSqrt3(next(), a),
|
|
85
|
+
length: mag,
|
|
86
|
+
log: (a) => log3(next(), a),
|
|
87
|
+
log2: (a) => log_23(next(), a),
|
|
88
|
+
max: (a, b) => max3(next(), a, b),
|
|
89
|
+
min: (a, b) => min3(next(), a, b),
|
|
90
|
+
mix: (a, b, t) => mix3(next(), a, b, t),
|
|
91
|
+
mixn: (a, b, t) => mixN3(next(), a, b, t),
|
|
92
|
+
mod: (a, b) => mod3(next(), a, b),
|
|
93
|
+
modn: (a, b) => modN3(next(), a, b),
|
|
94
|
+
mul: (a, b) => mul3(next(), a, b),
|
|
95
|
+
mulnv: (a, b) => mulN3(next(), b, a),
|
|
96
|
+
mulvn: (a, b) => mulN3(next(), a, b),
|
|
97
|
+
normalize: (a) => normalize3(next(), a),
|
|
98
|
+
pow: (a, b) => pow3(next(), a, b),
|
|
99
|
+
radians: (a) => radians3(next(), a),
|
|
100
|
+
reflect: (a, b) => reflect(next(), a, b),
|
|
101
|
+
refract: (a, b, c) => refract(next(), a, b, c),
|
|
102
|
+
sign: (a) => sign3(next(), a),
|
|
103
|
+
sin: (a) => sin3(next(), a),
|
|
104
|
+
smoothstep: (a, b, t) => smoothStep3(next(), a, b, t),
|
|
105
|
+
sqrt: (a) => sqrt3(next(), a),
|
|
106
|
+
step: (a, b) => step3(next(), a, b),
|
|
107
|
+
sub: (a, b) => sub3(next(), a, b),
|
|
108
|
+
sub1: (a) => neg(next(), a),
|
|
109
|
+
subnv: (a, b) => sub3(null, uniform(a), b),
|
|
110
|
+
subvn: (a, b) => subN3(next(), a, b),
|
|
111
|
+
tan: (a) => tan3(next(), a),
|
|
112
|
+
equal: (a, b) => eq3([], a, b),
|
|
113
|
+
notEqual: (a, b) => neq3([], a, b),
|
|
114
|
+
greaterThan: (a, b) => gt3([], a, b),
|
|
115
|
+
lessThan: (a, b) => lt3([], a, b),
|
|
116
|
+
greaterThanEqual: (a, b) => gte3([], a, b),
|
|
117
|
+
lessThanEqual: (a, b) => lte3([], a, b)
|
|
118
118
|
});
|
|
119
|
+
export {
|
|
120
|
+
VEC3
|
|
121
|
+
};
|
package/env/vec4.js
CHANGED
|
@@ -51,66 +51,69 @@ import { sub4 } from "@thi.ng/vectors/sub";
|
|
|
51
51
|
import { subN4 } from "@thi.ng/vectors/subn";
|
|
52
52
|
import { tan4 } from "@thi.ng/vectors/tan";
|
|
53
53
|
import { Pool } from "../pool.js";
|
|
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
|
-
|
|
54
|
+
const VEC4 = ({ next, uniform }) => ({
|
|
55
|
+
abs: (a) => abs4(next(), a),
|
|
56
|
+
acos: (a) => acos4(next(), a),
|
|
57
|
+
add: (a, b) => add4(next(), a, b),
|
|
58
|
+
addnv: (a, b) => addN4(next(), b, a),
|
|
59
|
+
addvn: (a, b) => addN4(next(), a, b),
|
|
60
|
+
asin: (a) => asin4(next(), a),
|
|
61
|
+
atan: (a) => atan4(next(), a),
|
|
62
|
+
atannn: (a, b) => atan_24(next(), a, b),
|
|
63
|
+
ceil: (a) => ceil4(next(), a),
|
|
64
|
+
clamp: (x, a, b) => clamp4(next(), x, a, b),
|
|
65
|
+
cos: (a) => cos4(next(), a),
|
|
66
|
+
dec: (a) => subN4(next(), a, 1),
|
|
67
|
+
degrees: (a) => degrees4(next(), a),
|
|
68
|
+
dFdx: () => ZERO4,
|
|
69
|
+
dFdy: () => ZERO4,
|
|
70
|
+
distance: dist,
|
|
71
|
+
div: (a, b) => div4(next(), a, b),
|
|
72
|
+
divnv: (a, b) => div4(null, uniform(a), b),
|
|
73
|
+
divvn: (a, b) => divN4(next(), a, b),
|
|
74
|
+
dot: (a, b) => dot4(a, b),
|
|
75
|
+
exp: (a) => exp4(next(), a),
|
|
76
|
+
exp2: (a) => exp_24(next(), a),
|
|
77
|
+
faceForward: (a, b, c) => faceForward(next(), a, b, c),
|
|
78
|
+
floor: (a) => floor4(next(), a),
|
|
79
|
+
fract: (a) => fract4(next(), a),
|
|
80
|
+
fwidth: () => ZERO4,
|
|
81
|
+
inc: (a) => addN4(next(), a, 1),
|
|
82
|
+
inversesqrt: (a) => invSqrt4(next(), a),
|
|
83
|
+
length: mag,
|
|
84
|
+
log: (a) => log4(next(), a),
|
|
85
|
+
log2: (a) => log_24(next(), a),
|
|
86
|
+
max: (a, b) => max4(next(), a, b),
|
|
87
|
+
min: (a, b) => min4(next(), a, b),
|
|
88
|
+
mix: (a, b, t) => mix4(next(), a, b, t),
|
|
89
|
+
mixn: (a, b, t) => mixN4(next(), a, b, t),
|
|
90
|
+
mod: (a, b) => mod4(next(), a, b),
|
|
91
|
+
modn: (a, b) => modN4(next(), a, b),
|
|
92
|
+
mul: (a, b) => mul4(next(), a, b),
|
|
93
|
+
mulnv: (a, b) => mulN4(next(), b, a),
|
|
94
|
+
mulvn: (a, b) => mulN4(next(), a, b),
|
|
95
|
+
normalize: (a) => normalize4(next(), a),
|
|
96
|
+
pow: (a, b) => pow4(next(), a, b),
|
|
97
|
+
radians: (a) => radians4(next(), a),
|
|
98
|
+
reflect: (a, b) => reflect(next(), a, b),
|
|
99
|
+
refract: (a, b, c) => refract(next(), a, b, c),
|
|
100
|
+
sign: (a) => sign4(next(), a),
|
|
101
|
+
sin: (a) => sin4(next(), a),
|
|
102
|
+
smoothstep: (a, b, t) => smoothStep4(next(), a, b, t),
|
|
103
|
+
sqrt: (a) => sqrt4(next(), a),
|
|
104
|
+
step: (a, b) => step4(next(), a, b),
|
|
105
|
+
sub: (a, b) => sub4(next(), a, b),
|
|
106
|
+
sub1: (a) => neg(next(), a),
|
|
107
|
+
subnv: (a, b) => sub4(null, uniform(a), b),
|
|
108
|
+
subvn: (a, b) => subN4(next(), a, b),
|
|
109
|
+
tan: (a) => tan4(next(), a),
|
|
110
|
+
equal: (a, b) => eq4([], a, b),
|
|
111
|
+
notEqual: (a, b) => neq4([], a, b),
|
|
112
|
+
greaterThan: (a, b) => gt4([], a, b),
|
|
113
|
+
lessThan: (a, b) => lt4([], a, b),
|
|
114
|
+
greaterThanEqual: (a, b) => gte4([], a, b),
|
|
115
|
+
lessThanEqual: (a, b) => lte4([], a, b)
|
|
116
116
|
});
|
|
117
|
+
export {
|
|
118
|
+
VEC4
|
|
119
|
+
};
|