typegpu 0.5.3 → 0.5.5
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/{attributes-DSOqT8yA.d.cts → attributes-BcDZsQCE.d.cts} +1 -1
- package/{attributes-B4JpvOTz.d.ts → attributes-DsIdcdq4.d.ts} +1 -1
- package/chunk-A6AAWPBU.cjs +2 -0
- package/chunk-A6AAWPBU.cjs.map +1 -0
- package/chunk-HZAXWB4J.js +2 -0
- package/chunk-HZAXWB4J.js.map +1 -0
- package/chunk-T5Y2EQPZ.js +4 -0
- package/chunk-T5Y2EQPZ.js.map +1 -0
- package/chunk-VUYQ2ZIK.cjs +4 -0
- package/chunk-VUYQ2ZIK.cjs.map +1 -0
- package/data/index.cjs +1 -1
- package/data/index.cjs.map +1 -1
- package/data/index.d.cts +50 -4
- package/data/index.d.ts +50 -4
- package/data/index.js +1 -1
- package/{wgslTypes-VtSRoe90.d.ts → dataTypes-ts2Ccted.d.cts} +608 -506
- package/{wgslTypes-VtSRoe90.d.cts → dataTypes-ts2Ccted.d.ts} +608 -506
- package/index.cjs +19 -19
- package/index.cjs.map +1 -1
- package/index.d.cts +110 -443
- package/index.d.ts +110 -443
- package/index.js +19 -19
- package/index.js.map +1 -1
- package/package.json +2 -2
- package/sampler-CPNwYXSH.d.ts +369 -0
- package/sampler-DeX4AnIZ.d.cts +369 -0
- package/std/index.cjs +1 -1
- package/std/index.cjs.map +1 -1
- package/std/index.d.cts +190 -47
- package/std/index.d.ts +190 -47
- package/std/index.js +1 -1
- package/std/index.js.map +1 -1
- package/chunk-DVZNNZFQ.js +0 -2
- package/chunk-DVZNNZFQ.js.map +0 -1
- package/chunk-FM3TKZFZ.cjs +0 -2
- package/chunk-FM3TKZFZ.cjs.map +0 -1
- package/chunk-M4VUFFPZ.cjs +0 -4
- package/chunk-M4VUFFPZ.cjs.map +0 -1
- package/chunk-RMXVIINO.js +0 -2
- package/chunk-RMXVIINO.js.map +0 -1
- package/chunk-UHU5Z2IS.js +0 -4
- package/chunk-UHU5Z2IS.js.map +0 -1
- package/chunk-UPPJES6W.cjs +0 -2
- package/chunk-UPPJES6W.cjs.map +0 -1
package/std/index.d.cts
CHANGED
@@ -1,117 +1,260 @@
|
|
1
|
-
import {
|
1
|
+
import { bn as TgpuDualFn, bo as AnyNumericVecInstance, H as AnyMatInstance, bp as vBaseForMat, bq as AnyFloatVecInstance, am as v3f, br as v3h, G as AnyVecInstance, bs as AnyVec2Instance, bt as v2b, bu as AnyVec3Instance, bv as v3b, bw as v4b, bx as AnyBooleanVecInstance, by as ScalarData, bz as atomicI32, bA as atomicU32, ap as v4f, aj as v2f, ak as v2i, an as v3i } from '../dataTypes-ts2Ccted.cjs';
|
2
|
+
import { d as TgpuSampledTexture, e as TgpuSampler } from '../sampler-DeX4AnIZ.cjs';
|
2
3
|
|
3
|
-
declare const discard: () => never
|
4
|
+
declare const discard: TgpuDualFn<() => never>;
|
4
5
|
|
5
|
-
|
6
|
-
|
7
|
-
};
|
8
|
-
declare const add: <T extends vBase>(lhs: T, rhs: T) => T;
|
9
|
-
declare const sub: <T extends vBase>(lhs: T, rhs: T) => T;
|
6
|
+
declare const add: TgpuDualFn<(<T extends AnyNumericVecInstance>(lhs: T, rhs: T) => T)>;
|
7
|
+
declare const sub: TgpuDualFn<(<T extends AnyNumericVecInstance>(lhs: T, rhs: T) => T)>;
|
10
8
|
type MulOverload = {
|
11
9
|
<T extends AnyMatInstance, TVec extends vBaseForMat<T>>(s: T, v: TVec): TVec;
|
12
10
|
<T extends AnyMatInstance, TVec extends vBaseForMat<T>>(s: TVec, v: T): TVec;
|
13
|
-
<T extends
|
11
|
+
<T extends AnyNumericVecInstance | AnyMatInstance>(s: number | T, v: T): T;
|
14
12
|
};
|
15
13
|
declare const mul: MulOverload;
|
16
|
-
declare const abs: <T extends
|
17
|
-
declare const atan2: <T extends
|
18
|
-
declare const acos: <T extends
|
19
|
-
declare const asin: <T extends
|
14
|
+
declare const abs: TgpuDualFn<(<T extends AnyNumericVecInstance | number>(value: T) => T)>;
|
15
|
+
declare const atan2: TgpuDualFn<(<T extends AnyFloatVecInstance | number>(y: T, x: T) => T)>;
|
16
|
+
declare const acos: TgpuDualFn<(<T extends AnyFloatVecInstance | number>(value: T) => T)>;
|
17
|
+
declare const asin: TgpuDualFn<(<T extends AnyFloatVecInstance | number>(value: T) => T)>;
|
20
18
|
/**
|
21
19
|
* @privateRemarks
|
22
20
|
* https://www.w3.org/TR/WGSL/#ceil-builtin
|
23
21
|
*/
|
24
|
-
declare const ceil: <T extends
|
22
|
+
declare const ceil: TgpuDualFn<(<T extends AnyFloatVecInstance | number>(value: T) => T)>;
|
25
23
|
/**
|
26
24
|
* @privateRemarks
|
27
25
|
* https://www.w3.org/TR/WGSL/#clamp
|
28
26
|
*/
|
29
|
-
declare const clamp: <T extends
|
27
|
+
declare const clamp: TgpuDualFn<(<T extends AnyNumericVecInstance | number>(value: T, low: T, high: T) => T)>;
|
30
28
|
/**
|
31
29
|
* @privateRemarks
|
32
30
|
* https://www.w3.org/TR/WGSL/#cos-builtin
|
33
31
|
*/
|
34
|
-
declare const cos: <T extends
|
32
|
+
declare const cos: TgpuDualFn<(<T extends AnyFloatVecInstance | number>(value: T) => T)>;
|
35
33
|
/**
|
36
34
|
* @privateRemarks
|
37
35
|
* https://www.w3.org/TR/WGSL/#cross-builtin
|
38
36
|
*/
|
39
|
-
declare const cross: <T extends v3f |
|
37
|
+
declare const cross: TgpuDualFn<(<T extends v3f | v3h>(a: T, b: T) => T)>;
|
40
38
|
/**
|
41
39
|
* @privateRemarks
|
42
40
|
* https://www.w3.org/TR/WGSL/#dot-builtin
|
43
41
|
*/
|
44
|
-
declare const dot: <T extends
|
45
|
-
declare const normalize: <T extends
|
42
|
+
declare const dot: TgpuDualFn<(<T extends AnyNumericVecInstance>(lhs: T, rhs: T) => number)>;
|
43
|
+
declare const normalize: TgpuDualFn<(<T extends AnyFloatVecInstance>(v: T) => T)>;
|
46
44
|
/**
|
47
45
|
* @privateRemarks
|
48
46
|
* https://www.w3.org/TR/WGSL/#floor-builtin
|
49
47
|
*/
|
50
|
-
declare const floor: <T extends
|
51
|
-
declare const fract: <T extends
|
48
|
+
declare const floor: TgpuDualFn<(<T extends AnyFloatVecInstance | number>(value: T) => T)>;
|
49
|
+
declare const fract: TgpuDualFn<(<T extends AnyFloatVecInstance | number>(a: T) => T)>;
|
52
50
|
/**
|
53
51
|
* @privateRemarks
|
54
52
|
* https://www.w3.org/TR/WGSL/#length-builtin
|
55
53
|
*/
|
56
|
-
declare const length: <T extends
|
54
|
+
declare const length: TgpuDualFn<(<T extends AnyFloatVecInstance | number>(value: T) => number)>;
|
57
55
|
/**
|
58
56
|
* @privateRemarks
|
59
57
|
* https://www.w3.org/TR/WGSL/#max-float-builtin
|
60
58
|
*/
|
61
|
-
declare const max: <T extends
|
59
|
+
declare const max: TgpuDualFn<(<T extends AnyNumericVecInstance | number>(a: T, b: T) => T)>;
|
62
60
|
/**
|
63
61
|
* @privateRemarks
|
64
62
|
* https://www.w3.org/TR/WGSL/#min-float-builtin
|
65
63
|
*/
|
66
|
-
declare const min: <T extends
|
64
|
+
declare const min: TgpuDualFn<(<T extends AnyNumericVecInstance | number>(a: T, b: T) => T)>;
|
67
65
|
/**
|
68
66
|
* @privateRemarks
|
69
67
|
* https://www.w3.org/TR/WGSL/#sin-builtin
|
70
68
|
*/
|
71
|
-
declare const sin: <T extends
|
69
|
+
declare const sin: TgpuDualFn<(<T extends AnyFloatVecInstance | number>(value: T) => T)>;
|
72
70
|
/**
|
73
71
|
* @privateRemarks
|
74
72
|
* https://www.w3.org/TR/WGSL/#exp-builtin
|
75
73
|
*/
|
76
|
-
declare const exp: <T extends
|
74
|
+
declare const exp: TgpuDualFn<(<T extends AnyFloatVecInstance | number>(value: T) => T)>;
|
77
75
|
type PowOverload = {
|
78
76
|
(base: number, exponent: number): number;
|
79
|
-
<T extends
|
77
|
+
<T extends AnyFloatVecInstance>(base: T, exponent: T): T;
|
80
78
|
};
|
81
79
|
declare const pow: PowOverload;
|
82
80
|
type MixOverload = {
|
83
81
|
(e1: number, e2: number, e3: number): number;
|
84
|
-
<T extends
|
85
|
-
<T extends
|
82
|
+
<T extends AnyFloatVecInstance>(e1: T, e2: T, e3: number): T;
|
83
|
+
<T extends AnyFloatVecInstance>(e1: T, e2: T, e3: T): T;
|
86
84
|
};
|
87
85
|
declare const mix: MixOverload;
|
88
|
-
declare const reflect: <T extends
|
89
|
-
declare const distance: <T extends
|
86
|
+
declare const reflect: TgpuDualFn<(<T extends AnyFloatVecInstance>(e1: T, e2: T) => T)>;
|
87
|
+
declare const distance: TgpuDualFn<(<T extends AnyFloatVecInstance | number>(a: T, b: T) => number)>;
|
88
|
+
declare const neg: TgpuDualFn<(<T extends AnyNumericVecInstance | number>(value: T) => T)>;
|
89
|
+
|
90
|
+
/**
|
91
|
+
* Checks whether `lhs == rhs` on all components.
|
92
|
+
* Equivalent to `all(eq(lhs, rhs))`.
|
93
|
+
* @example
|
94
|
+
* allEq(vec2f(0.0, 1.0), vec2f(0.0, 2.0)) // returns false
|
95
|
+
* allEq(vec3u(0, 1, 2), vec3u(0, 1, 2)) // returns true
|
96
|
+
*/
|
97
|
+
declare const allEq: TgpuDualFn<(<T extends AnyVecInstance>(lhs: T, rhs: T) => boolean)>;
|
98
|
+
/**
|
99
|
+
* Checks **component-wise** whether `lhs == rhs`.
|
100
|
+
* This function does **not** return `bool`, for that use-case, wrap the result in `all`, or use `allEq`.
|
101
|
+
* @example
|
102
|
+
* eq(vec2f(0.0, 1.0), vec2f(0.0, 2.0)) // returns vec2b(true, false)
|
103
|
+
* eq(vec3u(0, 1, 2), vec3u(2, 1, 0)) // returns vec3b(false, true, false)
|
104
|
+
* all(eq(vec4i(4, 3, 2, 1), vec4i(4, 3, 2, 1))) // returns true
|
105
|
+
* allEq(vec4i(4, 3, 2, 1), vec4i(4, 3, 2, 1)) // returns true
|
106
|
+
*/
|
107
|
+
declare const eq: TgpuDualFn<(<T extends AnyVecInstance>(lhs: T, rhs: T) => T extends AnyVec2Instance ? v2b : T extends AnyVec3Instance ? v3b : v4b)>;
|
108
|
+
/**
|
109
|
+
* Checks **component-wise** whether `lhs != rhs`.
|
110
|
+
* This function does **not** return `bool`, for that use-case, wrap the result in `any`.
|
111
|
+
* @example
|
112
|
+
* ne(vec2f(0.0, 1.0), vec2f(0.0, 2.0)) // returns vec2b(false, true)
|
113
|
+
* ne(vec3u(0, 1, 2), vec3u(2, 1, 0)) // returns vec3b(true, false, true)
|
114
|
+
* any(ne(vec4i(4, 3, 2, 1), vec4i(4, 2, 2, 1))) // returns true
|
115
|
+
*/
|
116
|
+
declare const ne: TgpuDualFn<(<T extends AnyVecInstance>(lhs: T, rhs: T) => T extends AnyVec2Instance ? v2b : T extends AnyVec3Instance ? v3b : v4b)>;
|
117
|
+
/**
|
118
|
+
* Checks **component-wise** whether `lhs < rhs`.
|
119
|
+
* This function does **not** return `bool`, for that use-case, wrap the result in `all`.
|
120
|
+
* @example
|
121
|
+
* lt(vec2f(0.0, 0.0), vec2f(0.0, 1.0)) // returns vec2b(false, true)
|
122
|
+
* lt(vec3u(0, 1, 2), vec3u(2, 1, 0)) // returns vec3b(true, false, false)
|
123
|
+
* all(lt(vec4i(1, 2, 3, 4), vec4i(2, 3, 4, 5))) // returns true
|
124
|
+
*/
|
125
|
+
declare const lt: TgpuDualFn<(<T extends AnyNumericVecInstance>(lhs: T, rhs: T) => T extends AnyVec2Instance ? v2b : T extends AnyVec3Instance ? v3b : v4b)>;
|
126
|
+
/**
|
127
|
+
* Checks **component-wise** whether `lhs <= rhs`.
|
128
|
+
* This function does **not** return `bool`, for that use-case, wrap the result in `all`.
|
129
|
+
* @example
|
130
|
+
* le(vec2f(0.0, 0.0), vec2f(0.0, 1.0)) // returns vec2b(true, true)
|
131
|
+
* le(vec3u(0, 1, 2), vec3u(2, 1, 0)) // returns vec3b(true, true, false)
|
132
|
+
* all(le(vec4i(1, 2, 3, 4), vec4i(2, 3, 3, 5))) // returns true
|
133
|
+
*/
|
134
|
+
declare const le: TgpuDualFn<(<T extends AnyNumericVecInstance>(lhs: T, rhs: T) => T extends AnyVec2Instance ? v2b : T extends AnyVec3Instance ? v3b : v4b)>;
|
135
|
+
/**
|
136
|
+
* Checks **component-wise** whether `lhs > rhs`.
|
137
|
+
* This function does **not** return `bool`, for that use-case, wrap the result in `all`.
|
138
|
+
* @example
|
139
|
+
* gt(vec2f(0.0, 0.0), vec2f(0.0, 1.0)) // returns vec2b(false, false)
|
140
|
+
* gt(vec3u(0, 1, 2), vec3u(2, 1, 0)) // returns vec3b(false, false, true)
|
141
|
+
* all(gt(vec4i(2, 3, 4, 5), vec4i(1, 2, 3, 4))) // returns true
|
142
|
+
*/
|
143
|
+
declare const gt: TgpuDualFn<(<T extends AnyNumericVecInstance>(lhs: T, rhs: T) => T extends AnyVec2Instance ? v2b : T extends AnyVec3Instance ? v3b : v4b)>;
|
144
|
+
/**
|
145
|
+
* Checks **component-wise** whether `lhs >= rhs`.
|
146
|
+
* This function does **not** return `bool`, for that use-case, wrap the result in `all`.
|
147
|
+
* @example
|
148
|
+
* ge(vec2f(0.0, 0.0), vec2f(0.0, 1.0)) // returns vec2b(true, false)
|
149
|
+
* ge(vec3u(0, 1, 2), vec3u(2, 1, 0)) // returns vec3b(false, true, true)
|
150
|
+
* all(ge(vec4i(2, 2, 4, 5), vec4i(1, 2, 3, 4))) // returns true
|
151
|
+
*/
|
152
|
+
declare const ge: TgpuDualFn<(<T extends AnyNumericVecInstance>(lhs: T, rhs: T) => T extends AnyVec2Instance ? v2b : T extends AnyVec3Instance ? v3b : v4b)>;
|
153
|
+
/**
|
154
|
+
* Returns **component-wise** `!value`.
|
155
|
+
* @example
|
156
|
+
* not(vec2b(false, true)) // returns vec2b(true, false)
|
157
|
+
* not(vec3b(true, true, false)) // returns vec3b(false, false, true)
|
158
|
+
*/
|
159
|
+
declare const not: TgpuDualFn<(<T extends AnyBooleanVecInstance>(value: T) => T)>;
|
160
|
+
/**
|
161
|
+
* Returns **component-wise** logical `or` result.
|
162
|
+
* @example
|
163
|
+
* or(vec2b(false, true), vec2b(false, false)) // returns vec2b(false, true)
|
164
|
+
* or(vec3b(true, true, false), vec3b(false, true, false)) // returns vec3b(true, true, false)
|
165
|
+
*/
|
166
|
+
declare const or: TgpuDualFn<(<T extends AnyBooleanVecInstance>(lhs: T, rhs: T) => T)>;
|
90
167
|
/**
|
91
|
-
*
|
92
|
-
*
|
168
|
+
* Returns **component-wise** logical `and` result.
|
169
|
+
* @example
|
170
|
+
* and(vec2b(false, true), vec2b(true, true)) // returns vec2b(false, true)
|
171
|
+
* and(vec3b(true, true, false), vec3b(false, true, false)) // returns vec3b(false, true, false)
|
172
|
+
*/
|
173
|
+
declare const and: TgpuDualFn<(<T extends AnyBooleanVecInstance>(lhs: T, rhs: T) => T)>;
|
174
|
+
/**
|
175
|
+
* Returns `true` if each component of `value` is true.
|
176
|
+
* @example
|
177
|
+
* all(vec2b(false, true)) // returns false
|
178
|
+
* all(vec3b(true, true, true)) // returns true
|
179
|
+
*/
|
180
|
+
declare const all: TgpuDualFn<(value: AnyBooleanVecInstance) => boolean>;
|
181
|
+
/**
|
182
|
+
* Returns `true` if any component of `value` is true.
|
183
|
+
* @example
|
184
|
+
* any(vec2b(false, true)) // returns true
|
185
|
+
* any(vec3b(false, false, false)) // returns false
|
186
|
+
*/
|
187
|
+
declare const any: TgpuDualFn<(value: AnyBooleanVecInstance) => boolean>;
|
188
|
+
/**
|
189
|
+
* Checks whether the given elements differ by at most the `precision` value.
|
190
|
+
* Checks all elements of `lhs` and `rhs` if arguments are vectors.
|
93
191
|
* @example
|
94
192
|
* isCloseTo(0, 0.1) // returns false
|
95
193
|
* isCloseTo(vec3f(0, 0, 0), vec3f(0.002, -0.009, 0)) // returns true
|
96
194
|
*
|
97
195
|
* @param {number} precision argument that specifies the maximum allowed difference, 0.01 by default.
|
98
196
|
*/
|
99
|
-
declare const isCloseTo: <T extends
|
197
|
+
declare const isCloseTo: TgpuDualFn<(<T extends AnyFloatVecInstance | number>(lhs: T, rhs: T, precision?: number) => boolean)>;
|
198
|
+
type SelectOverload = {
|
199
|
+
<T extends ScalarData | AnyVecInstance>(f: T, t: T, cond: boolean): T;
|
200
|
+
<T extends AnyVecInstance>(f: T, t: T, cond: T extends AnyVec2Instance ? v2b : T extends AnyVec3Instance ? v3b : v4b): T;
|
201
|
+
};
|
202
|
+
/**
|
203
|
+
* Returns `t` if `cond` is `true`, and `f` otherwise.
|
204
|
+
* Component-wise if `cond` is a vector.
|
205
|
+
* @example
|
206
|
+
* select(vec2i(1, 2), vec2i(3, 4), true) // returns vec2i(3, 4)
|
207
|
+
* select(vec2i(1, 2), vec2i(3, 4), vec2b(false, true)) // returns vec2i(1, 4)
|
208
|
+
*/
|
209
|
+
declare const select: SelectOverload;
|
100
210
|
|
101
211
|
type AnyAtomic = atomicI32 | atomicU32;
|
102
|
-
declare const workgroupBarrier: () => void
|
103
|
-
declare const storageBarrier: () => void
|
104
|
-
declare const textureBarrier: () => void
|
105
|
-
declare const atomicLoad: <T extends AnyAtomic>(a: T) => number
|
106
|
-
declare const atomicStore: <T extends AnyAtomic>(a: T, value: number) => void
|
107
|
-
declare const atomicAdd: <T extends AnyAtomic>(a: T, value: number) => number
|
108
|
-
declare const atomicSub: <T extends AnyAtomic>(a: T, value: number) => number
|
109
|
-
declare const atomicMax: <T extends AnyAtomic>(a: T, value: number) => number
|
110
|
-
declare const atomicMin: <T extends AnyAtomic>(a: T, value: number) => number
|
111
|
-
declare const atomicAnd: <T extends AnyAtomic>(a: T, value: number) => number
|
112
|
-
declare const atomicOr: <T extends AnyAtomic>(a: T, value: number) => number
|
113
|
-
declare const atomicXor: <T extends AnyAtomic>(a: T, value: number) => number
|
212
|
+
declare const workgroupBarrier: TgpuDualFn<() => void>;
|
213
|
+
declare const storageBarrier: TgpuDualFn<() => void>;
|
214
|
+
declare const textureBarrier: TgpuDualFn<() => void>;
|
215
|
+
declare const atomicLoad: TgpuDualFn<(<T extends AnyAtomic>(a: T) => number)>;
|
216
|
+
declare const atomicStore: TgpuDualFn<(<T extends AnyAtomic>(a: T, value: number) => void)>;
|
217
|
+
declare const atomicAdd: TgpuDualFn<(<T extends AnyAtomic>(a: T, value: number) => number)>;
|
218
|
+
declare const atomicSub: TgpuDualFn<(<T extends AnyAtomic>(a: T, value: number) => number)>;
|
219
|
+
declare const atomicMax: TgpuDualFn<(<T extends AnyAtomic>(a: T, value: number) => number)>;
|
220
|
+
declare const atomicMin: TgpuDualFn<(<T extends AnyAtomic>(a: T, value: number) => number)>;
|
221
|
+
declare const atomicAnd: TgpuDualFn<(<T extends AnyAtomic>(a: T, value: number) => number)>;
|
222
|
+
declare const atomicOr: TgpuDualFn<(<T extends AnyAtomic>(a: T, value: number) => number)>;
|
223
|
+
declare const atomicXor: TgpuDualFn<(<T extends AnyAtomic>(a: T, value: number) => number)>;
|
224
|
+
|
225
|
+
declare const arrayLength: TgpuDualFn<(a: unknown[]) => number>;
|
114
226
|
|
115
|
-
|
227
|
+
/**
|
228
|
+
* @privateRemarks
|
229
|
+
* https://gpuweb.github.io/gpuweb/wgsl/#unpack2x16float-builtin
|
230
|
+
*/
|
231
|
+
declare const unpack2x16float: TgpuDualFn<(e: number) => v2f>;
|
232
|
+
/**
|
233
|
+
* @privateRemarks
|
234
|
+
* https://gpuweb.github.io/gpuweb/wgsl/#pack2x16float-builtin
|
235
|
+
*/
|
236
|
+
declare const pack2x16float: TgpuDualFn<(e: v2f) => number>;
|
237
|
+
/**
|
238
|
+
* @privateRemarks
|
239
|
+
* https://gpuweb.github.io/gpuweb/wgsl/#unpack4x8unorm-builtin
|
240
|
+
*/
|
241
|
+
declare const unpack4x8unorm: TgpuDualFn<(e: number) => v4f>;
|
242
|
+
/**
|
243
|
+
* @privateRemarks
|
244
|
+
* https://gpuweb.github.io/gpuweb/wgsl/#pack4x8unorm-builtin
|
245
|
+
*/
|
246
|
+
declare const pack4x8unorm: TgpuDualFn<(e: v4f) => number>;
|
247
|
+
|
248
|
+
type TextureSampleOverload = {
|
249
|
+
<T extends TgpuSampledTexture<'1d'>>(texture: T, sampler: TgpuSampler, coords: number): v4f;
|
250
|
+
<T extends TgpuSampledTexture<'2d'>>(texture: T, sampler: TgpuSampler, coords: v2f): v4f;
|
251
|
+
<T extends TgpuSampledTexture<'2d'>>(texture: T, sampler: TgpuSampler, coords: v2f, offset: v2i): v4f;
|
252
|
+
<T extends TgpuSampledTexture<'2d-array'>>(texture: T, sampler: TgpuSampler, coords: v2f, arrayIndex: number): v4f;
|
253
|
+
<T extends TgpuSampledTexture<'2d-array'>>(texture: T, sampler: TgpuSampler, coords: v2f, arrayIndex: number, offset: v2i): v4f;
|
254
|
+
<T extends TgpuSampledTexture<'3d' | 'cube'>>(texture: T, sampler: TgpuSampler, coords: v3f): v4f;
|
255
|
+
<T extends TgpuSampledTexture<'3d'>>(texture: T, sampler: TgpuSampler, coords: v3f, offset: v3i): v4f;
|
256
|
+
<T extends TgpuSampledTexture<'cube-array'>>(texture: T, sampler: TgpuSampler, coords: v3f, arrayIndex: number): v4f;
|
257
|
+
};
|
258
|
+
declare const textureSample: TextureSampleOverload;
|
116
259
|
|
117
|
-
export { abs, acos, add, arrayLength, asin, atan2, atomicAdd, atomicAnd, atomicLoad, atomicMax, atomicMin, atomicOr, atomicStore, atomicSub, atomicXor, ceil, clamp, cos, cross, discard, distance, dot, exp, floor, fract, isCloseTo, length, max, min, mix, mul, normalize, pow, reflect, sin, storageBarrier, sub, textureBarrier, workgroupBarrier };
|
260
|
+
export { abs, acos, add, all, allEq, and, any, arrayLength, asin, atan2, atomicAdd, atomicAnd, atomicLoad, atomicMax, atomicMin, atomicOr, atomicStore, atomicSub, atomicXor, ceil, clamp, cos, cross, discard, distance, dot, eq, exp, floor, fract, ge, gt, isCloseTo, le, length, lt, max, min, mix, mul, ne, neg, normalize, not, or, pack2x16float, pack4x8unorm, pow, reflect, select, sin, storageBarrier, sub, textureBarrier, textureSample, unpack2x16float, unpack4x8unorm, workgroupBarrier };
|
package/std/index.d.ts
CHANGED
@@ -1,117 +1,260 @@
|
|
1
|
-
import {
|
1
|
+
import { bn as TgpuDualFn, bo as AnyNumericVecInstance, H as AnyMatInstance, bp as vBaseForMat, bq as AnyFloatVecInstance, am as v3f, br as v3h, G as AnyVecInstance, bs as AnyVec2Instance, bt as v2b, bu as AnyVec3Instance, bv as v3b, bw as v4b, bx as AnyBooleanVecInstance, by as ScalarData, bz as atomicI32, bA as atomicU32, ap as v4f, aj as v2f, ak as v2i, an as v3i } from '../dataTypes-ts2Ccted.js';
|
2
|
+
import { d as TgpuSampledTexture, e as TgpuSampler } from '../sampler-CPNwYXSH.js';
|
2
3
|
|
3
|
-
declare const discard: () => never
|
4
|
+
declare const discard: TgpuDualFn<() => never>;
|
4
5
|
|
5
|
-
|
6
|
-
|
7
|
-
};
|
8
|
-
declare const add: <T extends vBase>(lhs: T, rhs: T) => T;
|
9
|
-
declare const sub: <T extends vBase>(lhs: T, rhs: T) => T;
|
6
|
+
declare const add: TgpuDualFn<(<T extends AnyNumericVecInstance>(lhs: T, rhs: T) => T)>;
|
7
|
+
declare const sub: TgpuDualFn<(<T extends AnyNumericVecInstance>(lhs: T, rhs: T) => T)>;
|
10
8
|
type MulOverload = {
|
11
9
|
<T extends AnyMatInstance, TVec extends vBaseForMat<T>>(s: T, v: TVec): TVec;
|
12
10
|
<T extends AnyMatInstance, TVec extends vBaseForMat<T>>(s: TVec, v: T): TVec;
|
13
|
-
<T extends
|
11
|
+
<T extends AnyNumericVecInstance | AnyMatInstance>(s: number | T, v: T): T;
|
14
12
|
};
|
15
13
|
declare const mul: MulOverload;
|
16
|
-
declare const abs: <T extends
|
17
|
-
declare const atan2: <T extends
|
18
|
-
declare const acos: <T extends
|
19
|
-
declare const asin: <T extends
|
14
|
+
declare const abs: TgpuDualFn<(<T extends AnyNumericVecInstance | number>(value: T) => T)>;
|
15
|
+
declare const atan2: TgpuDualFn<(<T extends AnyFloatVecInstance | number>(y: T, x: T) => T)>;
|
16
|
+
declare const acos: TgpuDualFn<(<T extends AnyFloatVecInstance | number>(value: T) => T)>;
|
17
|
+
declare const asin: TgpuDualFn<(<T extends AnyFloatVecInstance | number>(value: T) => T)>;
|
20
18
|
/**
|
21
19
|
* @privateRemarks
|
22
20
|
* https://www.w3.org/TR/WGSL/#ceil-builtin
|
23
21
|
*/
|
24
|
-
declare const ceil: <T extends
|
22
|
+
declare const ceil: TgpuDualFn<(<T extends AnyFloatVecInstance | number>(value: T) => T)>;
|
25
23
|
/**
|
26
24
|
* @privateRemarks
|
27
25
|
* https://www.w3.org/TR/WGSL/#clamp
|
28
26
|
*/
|
29
|
-
declare const clamp: <T extends
|
27
|
+
declare const clamp: TgpuDualFn<(<T extends AnyNumericVecInstance | number>(value: T, low: T, high: T) => T)>;
|
30
28
|
/**
|
31
29
|
* @privateRemarks
|
32
30
|
* https://www.w3.org/TR/WGSL/#cos-builtin
|
33
31
|
*/
|
34
|
-
declare const cos: <T extends
|
32
|
+
declare const cos: TgpuDualFn<(<T extends AnyFloatVecInstance | number>(value: T) => T)>;
|
35
33
|
/**
|
36
34
|
* @privateRemarks
|
37
35
|
* https://www.w3.org/TR/WGSL/#cross-builtin
|
38
36
|
*/
|
39
|
-
declare const cross: <T extends v3f |
|
37
|
+
declare const cross: TgpuDualFn<(<T extends v3f | v3h>(a: T, b: T) => T)>;
|
40
38
|
/**
|
41
39
|
* @privateRemarks
|
42
40
|
* https://www.w3.org/TR/WGSL/#dot-builtin
|
43
41
|
*/
|
44
|
-
declare const dot: <T extends
|
45
|
-
declare const normalize: <T extends
|
42
|
+
declare const dot: TgpuDualFn<(<T extends AnyNumericVecInstance>(lhs: T, rhs: T) => number)>;
|
43
|
+
declare const normalize: TgpuDualFn<(<T extends AnyFloatVecInstance>(v: T) => T)>;
|
46
44
|
/**
|
47
45
|
* @privateRemarks
|
48
46
|
* https://www.w3.org/TR/WGSL/#floor-builtin
|
49
47
|
*/
|
50
|
-
declare const floor: <T extends
|
51
|
-
declare const fract: <T extends
|
48
|
+
declare const floor: TgpuDualFn<(<T extends AnyFloatVecInstance | number>(value: T) => T)>;
|
49
|
+
declare const fract: TgpuDualFn<(<T extends AnyFloatVecInstance | number>(a: T) => T)>;
|
52
50
|
/**
|
53
51
|
* @privateRemarks
|
54
52
|
* https://www.w3.org/TR/WGSL/#length-builtin
|
55
53
|
*/
|
56
|
-
declare const length: <T extends
|
54
|
+
declare const length: TgpuDualFn<(<T extends AnyFloatVecInstance | number>(value: T) => number)>;
|
57
55
|
/**
|
58
56
|
* @privateRemarks
|
59
57
|
* https://www.w3.org/TR/WGSL/#max-float-builtin
|
60
58
|
*/
|
61
|
-
declare const max: <T extends
|
59
|
+
declare const max: TgpuDualFn<(<T extends AnyNumericVecInstance | number>(a: T, b: T) => T)>;
|
62
60
|
/**
|
63
61
|
* @privateRemarks
|
64
62
|
* https://www.w3.org/TR/WGSL/#min-float-builtin
|
65
63
|
*/
|
66
|
-
declare const min: <T extends
|
64
|
+
declare const min: TgpuDualFn<(<T extends AnyNumericVecInstance | number>(a: T, b: T) => T)>;
|
67
65
|
/**
|
68
66
|
* @privateRemarks
|
69
67
|
* https://www.w3.org/TR/WGSL/#sin-builtin
|
70
68
|
*/
|
71
|
-
declare const sin: <T extends
|
69
|
+
declare const sin: TgpuDualFn<(<T extends AnyFloatVecInstance | number>(value: T) => T)>;
|
72
70
|
/**
|
73
71
|
* @privateRemarks
|
74
72
|
* https://www.w3.org/TR/WGSL/#exp-builtin
|
75
73
|
*/
|
76
|
-
declare const exp: <T extends
|
74
|
+
declare const exp: TgpuDualFn<(<T extends AnyFloatVecInstance | number>(value: T) => T)>;
|
77
75
|
type PowOverload = {
|
78
76
|
(base: number, exponent: number): number;
|
79
|
-
<T extends
|
77
|
+
<T extends AnyFloatVecInstance>(base: T, exponent: T): T;
|
80
78
|
};
|
81
79
|
declare const pow: PowOverload;
|
82
80
|
type MixOverload = {
|
83
81
|
(e1: number, e2: number, e3: number): number;
|
84
|
-
<T extends
|
85
|
-
<T extends
|
82
|
+
<T extends AnyFloatVecInstance>(e1: T, e2: T, e3: number): T;
|
83
|
+
<T extends AnyFloatVecInstance>(e1: T, e2: T, e3: T): T;
|
86
84
|
};
|
87
85
|
declare const mix: MixOverload;
|
88
|
-
declare const reflect: <T extends
|
89
|
-
declare const distance: <T extends
|
86
|
+
declare const reflect: TgpuDualFn<(<T extends AnyFloatVecInstance>(e1: T, e2: T) => T)>;
|
87
|
+
declare const distance: TgpuDualFn<(<T extends AnyFloatVecInstance | number>(a: T, b: T) => number)>;
|
88
|
+
declare const neg: TgpuDualFn<(<T extends AnyNumericVecInstance | number>(value: T) => T)>;
|
89
|
+
|
90
|
+
/**
|
91
|
+
* Checks whether `lhs == rhs` on all components.
|
92
|
+
* Equivalent to `all(eq(lhs, rhs))`.
|
93
|
+
* @example
|
94
|
+
* allEq(vec2f(0.0, 1.0), vec2f(0.0, 2.0)) // returns false
|
95
|
+
* allEq(vec3u(0, 1, 2), vec3u(0, 1, 2)) // returns true
|
96
|
+
*/
|
97
|
+
declare const allEq: TgpuDualFn<(<T extends AnyVecInstance>(lhs: T, rhs: T) => boolean)>;
|
98
|
+
/**
|
99
|
+
* Checks **component-wise** whether `lhs == rhs`.
|
100
|
+
* This function does **not** return `bool`, for that use-case, wrap the result in `all`, or use `allEq`.
|
101
|
+
* @example
|
102
|
+
* eq(vec2f(0.0, 1.0), vec2f(0.0, 2.0)) // returns vec2b(true, false)
|
103
|
+
* eq(vec3u(0, 1, 2), vec3u(2, 1, 0)) // returns vec3b(false, true, false)
|
104
|
+
* all(eq(vec4i(4, 3, 2, 1), vec4i(4, 3, 2, 1))) // returns true
|
105
|
+
* allEq(vec4i(4, 3, 2, 1), vec4i(4, 3, 2, 1)) // returns true
|
106
|
+
*/
|
107
|
+
declare const eq: TgpuDualFn<(<T extends AnyVecInstance>(lhs: T, rhs: T) => T extends AnyVec2Instance ? v2b : T extends AnyVec3Instance ? v3b : v4b)>;
|
108
|
+
/**
|
109
|
+
* Checks **component-wise** whether `lhs != rhs`.
|
110
|
+
* This function does **not** return `bool`, for that use-case, wrap the result in `any`.
|
111
|
+
* @example
|
112
|
+
* ne(vec2f(0.0, 1.0), vec2f(0.0, 2.0)) // returns vec2b(false, true)
|
113
|
+
* ne(vec3u(0, 1, 2), vec3u(2, 1, 0)) // returns vec3b(true, false, true)
|
114
|
+
* any(ne(vec4i(4, 3, 2, 1), vec4i(4, 2, 2, 1))) // returns true
|
115
|
+
*/
|
116
|
+
declare const ne: TgpuDualFn<(<T extends AnyVecInstance>(lhs: T, rhs: T) => T extends AnyVec2Instance ? v2b : T extends AnyVec3Instance ? v3b : v4b)>;
|
117
|
+
/**
|
118
|
+
* Checks **component-wise** whether `lhs < rhs`.
|
119
|
+
* This function does **not** return `bool`, for that use-case, wrap the result in `all`.
|
120
|
+
* @example
|
121
|
+
* lt(vec2f(0.0, 0.0), vec2f(0.0, 1.0)) // returns vec2b(false, true)
|
122
|
+
* lt(vec3u(0, 1, 2), vec3u(2, 1, 0)) // returns vec3b(true, false, false)
|
123
|
+
* all(lt(vec4i(1, 2, 3, 4), vec4i(2, 3, 4, 5))) // returns true
|
124
|
+
*/
|
125
|
+
declare const lt: TgpuDualFn<(<T extends AnyNumericVecInstance>(lhs: T, rhs: T) => T extends AnyVec2Instance ? v2b : T extends AnyVec3Instance ? v3b : v4b)>;
|
126
|
+
/**
|
127
|
+
* Checks **component-wise** whether `lhs <= rhs`.
|
128
|
+
* This function does **not** return `bool`, for that use-case, wrap the result in `all`.
|
129
|
+
* @example
|
130
|
+
* le(vec2f(0.0, 0.0), vec2f(0.0, 1.0)) // returns vec2b(true, true)
|
131
|
+
* le(vec3u(0, 1, 2), vec3u(2, 1, 0)) // returns vec3b(true, true, false)
|
132
|
+
* all(le(vec4i(1, 2, 3, 4), vec4i(2, 3, 3, 5))) // returns true
|
133
|
+
*/
|
134
|
+
declare const le: TgpuDualFn<(<T extends AnyNumericVecInstance>(lhs: T, rhs: T) => T extends AnyVec2Instance ? v2b : T extends AnyVec3Instance ? v3b : v4b)>;
|
135
|
+
/**
|
136
|
+
* Checks **component-wise** whether `lhs > rhs`.
|
137
|
+
* This function does **not** return `bool`, for that use-case, wrap the result in `all`.
|
138
|
+
* @example
|
139
|
+
* gt(vec2f(0.0, 0.0), vec2f(0.0, 1.0)) // returns vec2b(false, false)
|
140
|
+
* gt(vec3u(0, 1, 2), vec3u(2, 1, 0)) // returns vec3b(false, false, true)
|
141
|
+
* all(gt(vec4i(2, 3, 4, 5), vec4i(1, 2, 3, 4))) // returns true
|
142
|
+
*/
|
143
|
+
declare const gt: TgpuDualFn<(<T extends AnyNumericVecInstance>(lhs: T, rhs: T) => T extends AnyVec2Instance ? v2b : T extends AnyVec3Instance ? v3b : v4b)>;
|
144
|
+
/**
|
145
|
+
* Checks **component-wise** whether `lhs >= rhs`.
|
146
|
+
* This function does **not** return `bool`, for that use-case, wrap the result in `all`.
|
147
|
+
* @example
|
148
|
+
* ge(vec2f(0.0, 0.0), vec2f(0.0, 1.0)) // returns vec2b(true, false)
|
149
|
+
* ge(vec3u(0, 1, 2), vec3u(2, 1, 0)) // returns vec3b(false, true, true)
|
150
|
+
* all(ge(vec4i(2, 2, 4, 5), vec4i(1, 2, 3, 4))) // returns true
|
151
|
+
*/
|
152
|
+
declare const ge: TgpuDualFn<(<T extends AnyNumericVecInstance>(lhs: T, rhs: T) => T extends AnyVec2Instance ? v2b : T extends AnyVec3Instance ? v3b : v4b)>;
|
153
|
+
/**
|
154
|
+
* Returns **component-wise** `!value`.
|
155
|
+
* @example
|
156
|
+
* not(vec2b(false, true)) // returns vec2b(true, false)
|
157
|
+
* not(vec3b(true, true, false)) // returns vec3b(false, false, true)
|
158
|
+
*/
|
159
|
+
declare const not: TgpuDualFn<(<T extends AnyBooleanVecInstance>(value: T) => T)>;
|
160
|
+
/**
|
161
|
+
* Returns **component-wise** logical `or` result.
|
162
|
+
* @example
|
163
|
+
* or(vec2b(false, true), vec2b(false, false)) // returns vec2b(false, true)
|
164
|
+
* or(vec3b(true, true, false), vec3b(false, true, false)) // returns vec3b(true, true, false)
|
165
|
+
*/
|
166
|
+
declare const or: TgpuDualFn<(<T extends AnyBooleanVecInstance>(lhs: T, rhs: T) => T)>;
|
90
167
|
/**
|
91
|
-
*
|
92
|
-
*
|
168
|
+
* Returns **component-wise** logical `and` result.
|
169
|
+
* @example
|
170
|
+
* and(vec2b(false, true), vec2b(true, true)) // returns vec2b(false, true)
|
171
|
+
* and(vec3b(true, true, false), vec3b(false, true, false)) // returns vec3b(false, true, false)
|
172
|
+
*/
|
173
|
+
declare const and: TgpuDualFn<(<T extends AnyBooleanVecInstance>(lhs: T, rhs: T) => T)>;
|
174
|
+
/**
|
175
|
+
* Returns `true` if each component of `value` is true.
|
176
|
+
* @example
|
177
|
+
* all(vec2b(false, true)) // returns false
|
178
|
+
* all(vec3b(true, true, true)) // returns true
|
179
|
+
*/
|
180
|
+
declare const all: TgpuDualFn<(value: AnyBooleanVecInstance) => boolean>;
|
181
|
+
/**
|
182
|
+
* Returns `true` if any component of `value` is true.
|
183
|
+
* @example
|
184
|
+
* any(vec2b(false, true)) // returns true
|
185
|
+
* any(vec3b(false, false, false)) // returns false
|
186
|
+
*/
|
187
|
+
declare const any: TgpuDualFn<(value: AnyBooleanVecInstance) => boolean>;
|
188
|
+
/**
|
189
|
+
* Checks whether the given elements differ by at most the `precision` value.
|
190
|
+
* Checks all elements of `lhs` and `rhs` if arguments are vectors.
|
93
191
|
* @example
|
94
192
|
* isCloseTo(0, 0.1) // returns false
|
95
193
|
* isCloseTo(vec3f(0, 0, 0), vec3f(0.002, -0.009, 0)) // returns true
|
96
194
|
*
|
97
195
|
* @param {number} precision argument that specifies the maximum allowed difference, 0.01 by default.
|
98
196
|
*/
|
99
|
-
declare const isCloseTo: <T extends
|
197
|
+
declare const isCloseTo: TgpuDualFn<(<T extends AnyFloatVecInstance | number>(lhs: T, rhs: T, precision?: number) => boolean)>;
|
198
|
+
type SelectOverload = {
|
199
|
+
<T extends ScalarData | AnyVecInstance>(f: T, t: T, cond: boolean): T;
|
200
|
+
<T extends AnyVecInstance>(f: T, t: T, cond: T extends AnyVec2Instance ? v2b : T extends AnyVec3Instance ? v3b : v4b): T;
|
201
|
+
};
|
202
|
+
/**
|
203
|
+
* Returns `t` if `cond` is `true`, and `f` otherwise.
|
204
|
+
* Component-wise if `cond` is a vector.
|
205
|
+
* @example
|
206
|
+
* select(vec2i(1, 2), vec2i(3, 4), true) // returns vec2i(3, 4)
|
207
|
+
* select(vec2i(1, 2), vec2i(3, 4), vec2b(false, true)) // returns vec2i(1, 4)
|
208
|
+
*/
|
209
|
+
declare const select: SelectOverload;
|
100
210
|
|
101
211
|
type AnyAtomic = atomicI32 | atomicU32;
|
102
|
-
declare const workgroupBarrier: () => void
|
103
|
-
declare const storageBarrier: () => void
|
104
|
-
declare const textureBarrier: () => void
|
105
|
-
declare const atomicLoad: <T extends AnyAtomic>(a: T) => number
|
106
|
-
declare const atomicStore: <T extends AnyAtomic>(a: T, value: number) => void
|
107
|
-
declare const atomicAdd: <T extends AnyAtomic>(a: T, value: number) => number
|
108
|
-
declare const atomicSub: <T extends AnyAtomic>(a: T, value: number) => number
|
109
|
-
declare const atomicMax: <T extends AnyAtomic>(a: T, value: number) => number
|
110
|
-
declare const atomicMin: <T extends AnyAtomic>(a: T, value: number) => number
|
111
|
-
declare const atomicAnd: <T extends AnyAtomic>(a: T, value: number) => number
|
112
|
-
declare const atomicOr: <T extends AnyAtomic>(a: T, value: number) => number
|
113
|
-
declare const atomicXor: <T extends AnyAtomic>(a: T, value: number) => number
|
212
|
+
declare const workgroupBarrier: TgpuDualFn<() => void>;
|
213
|
+
declare const storageBarrier: TgpuDualFn<() => void>;
|
214
|
+
declare const textureBarrier: TgpuDualFn<() => void>;
|
215
|
+
declare const atomicLoad: TgpuDualFn<(<T extends AnyAtomic>(a: T) => number)>;
|
216
|
+
declare const atomicStore: TgpuDualFn<(<T extends AnyAtomic>(a: T, value: number) => void)>;
|
217
|
+
declare const atomicAdd: TgpuDualFn<(<T extends AnyAtomic>(a: T, value: number) => number)>;
|
218
|
+
declare const atomicSub: TgpuDualFn<(<T extends AnyAtomic>(a: T, value: number) => number)>;
|
219
|
+
declare const atomicMax: TgpuDualFn<(<T extends AnyAtomic>(a: T, value: number) => number)>;
|
220
|
+
declare const atomicMin: TgpuDualFn<(<T extends AnyAtomic>(a: T, value: number) => number)>;
|
221
|
+
declare const atomicAnd: TgpuDualFn<(<T extends AnyAtomic>(a: T, value: number) => number)>;
|
222
|
+
declare const atomicOr: TgpuDualFn<(<T extends AnyAtomic>(a: T, value: number) => number)>;
|
223
|
+
declare const atomicXor: TgpuDualFn<(<T extends AnyAtomic>(a: T, value: number) => number)>;
|
224
|
+
|
225
|
+
declare const arrayLength: TgpuDualFn<(a: unknown[]) => number>;
|
114
226
|
|
115
|
-
|
227
|
+
/**
|
228
|
+
* @privateRemarks
|
229
|
+
* https://gpuweb.github.io/gpuweb/wgsl/#unpack2x16float-builtin
|
230
|
+
*/
|
231
|
+
declare const unpack2x16float: TgpuDualFn<(e: number) => v2f>;
|
232
|
+
/**
|
233
|
+
* @privateRemarks
|
234
|
+
* https://gpuweb.github.io/gpuweb/wgsl/#pack2x16float-builtin
|
235
|
+
*/
|
236
|
+
declare const pack2x16float: TgpuDualFn<(e: v2f) => number>;
|
237
|
+
/**
|
238
|
+
* @privateRemarks
|
239
|
+
* https://gpuweb.github.io/gpuweb/wgsl/#unpack4x8unorm-builtin
|
240
|
+
*/
|
241
|
+
declare const unpack4x8unorm: TgpuDualFn<(e: number) => v4f>;
|
242
|
+
/**
|
243
|
+
* @privateRemarks
|
244
|
+
* https://gpuweb.github.io/gpuweb/wgsl/#pack4x8unorm-builtin
|
245
|
+
*/
|
246
|
+
declare const pack4x8unorm: TgpuDualFn<(e: v4f) => number>;
|
247
|
+
|
248
|
+
type TextureSampleOverload = {
|
249
|
+
<T extends TgpuSampledTexture<'1d'>>(texture: T, sampler: TgpuSampler, coords: number): v4f;
|
250
|
+
<T extends TgpuSampledTexture<'2d'>>(texture: T, sampler: TgpuSampler, coords: v2f): v4f;
|
251
|
+
<T extends TgpuSampledTexture<'2d'>>(texture: T, sampler: TgpuSampler, coords: v2f, offset: v2i): v4f;
|
252
|
+
<T extends TgpuSampledTexture<'2d-array'>>(texture: T, sampler: TgpuSampler, coords: v2f, arrayIndex: number): v4f;
|
253
|
+
<T extends TgpuSampledTexture<'2d-array'>>(texture: T, sampler: TgpuSampler, coords: v2f, arrayIndex: number, offset: v2i): v4f;
|
254
|
+
<T extends TgpuSampledTexture<'3d' | 'cube'>>(texture: T, sampler: TgpuSampler, coords: v3f): v4f;
|
255
|
+
<T extends TgpuSampledTexture<'3d'>>(texture: T, sampler: TgpuSampler, coords: v3f, offset: v3i): v4f;
|
256
|
+
<T extends TgpuSampledTexture<'cube-array'>>(texture: T, sampler: TgpuSampler, coords: v3f, arrayIndex: number): v4f;
|
257
|
+
};
|
258
|
+
declare const textureSample: TextureSampleOverload;
|
116
259
|
|
117
|
-
export { abs, acos, add, arrayLength, asin, atan2, atomicAdd, atomicAnd, atomicLoad, atomicMax, atomicMin, atomicOr, atomicStore, atomicSub, atomicXor, ceil, clamp, cos, cross, discard, distance, dot, exp, floor, fract, isCloseTo, length, max, min, mix, mul, normalize, pow, reflect, sin, storageBarrier, sub, textureBarrier, workgroupBarrier };
|
260
|
+
export { abs, acos, add, all, allEq, and, any, arrayLength, asin, atan2, atomicAdd, atomicAnd, atomicLoad, atomicMax, atomicMin, atomicOr, atomicStore, atomicSub, atomicXor, ceil, clamp, cos, cross, discard, distance, dot, eq, exp, floor, fract, ge, gt, isCloseTo, le, length, lt, max, min, mix, mul, ne, neg, normalize, not, or, pack2x16float, pack4x8unorm, pow, reflect, select, sin, storageBarrier, sub, textureBarrier, textureSample, unpack2x16float, unpack4x8unorm, workgroupBarrier };
|