@tolokoban/tgd 2.0.32 → 2.0.34
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/lib/dist/code/coords.d.ts +5 -0
- package/lib/dist/code/coords.d.ts.map +1 -1
- package/lib/dist/code/coords.js +7 -2
- package/lib/dist/code/index.d.ts +3 -0
- package/lib/dist/code/index.d.ts.map +1 -1
- package/lib/dist/code/index.js +4 -1
- package/lib/dist/code/math.d.ts +38 -0
- package/lib/dist/code/math.d.ts.map +1 -0
- package/lib/dist/code/math.js +70 -0
- package/lib/dist/code/noise.d.ts +21 -0
- package/lib/dist/code/noise.d.ts.map +1 -0
- package/lib/dist/code/noise.js +279 -0
- package/lib/dist/code/space.d.ts +24 -0
- package/lib/dist/code/space.d.ts.map +1 -0
- package/lib/dist/code/space.js +42 -0
- package/lib/dist/code/transfo.d.ts +2 -2
- package/lib/dist/code/transfo.d.ts.map +1 -1
- package/lib/dist/code/transfo.js +2 -2
- package/lib/dist/geometry/geometry.d.ts +4 -0
- package/lib/dist/geometry/geometry.d.ts.map +1 -1
- package/lib/dist/geometry/geometry.js +11 -3
- package/lib/dist/input/pointer.d.ts +5 -0
- package/lib/dist/input/pointer.d.ts.map +1 -1
- package/lib/dist/input/pointer.js +30 -2
- package/lib/dist/loader/binary.js +3 -3
- package/lib/dist/loader/image.d.ts +1 -0
- package/lib/dist/loader/image.d.ts.map +1 -1
- package/lib/dist/loader/image.js +22 -3
- package/lib/dist/material/camera-light.d.ts +23 -0
- package/lib/dist/material/camera-light.d.ts.map +1 -0
- package/lib/dist/material/camera-light.js +88 -0
- package/lib/dist/material/depth.d.ts +0 -8
- package/lib/dist/material/depth.d.ts.map +1 -1
- package/lib/dist/material/depth.js +12 -14
- package/lib/dist/material/diffuse.d.ts +1 -12
- package/lib/dist/material/diffuse.d.ts.map +1 -1
- package/lib/dist/material/diffuse.js +53 -44
- package/lib/dist/material/face-orientation.d.ts +0 -12
- package/lib/dist/material/face-orientation.d.ts.map +1 -1
- package/lib/dist/material/face-orientation.js +40 -37
- package/lib/dist/material/flat.d.ts +1 -11
- package/lib/dist/material/flat.d.ts.map +1 -1
- package/lib/dist/material/flat.js +7 -9
- package/lib/dist/material/ghost.d.ts +1 -9
- package/lib/dist/material/ghost.d.ts.map +1 -1
- package/lib/dist/material/ghost.js +15 -15
- package/lib/dist/material/hull.d.ts +1 -14
- package/lib/dist/material/hull.d.ts.map +1 -1
- package/lib/dist/material/hull.js +22 -25
- package/lib/dist/material/index.d.ts +0 -1
- package/lib/dist/material/index.d.ts.map +1 -1
- package/lib/dist/material/index.js +1 -2
- package/lib/dist/material/material.d.ts +52 -5
- package/lib/dist/material/material.d.ts.map +1 -1
- package/lib/dist/material/material.js +15 -18
- package/lib/dist/material/normals.d.ts +0 -9
- package/lib/dist/material/normals.d.ts.map +1 -1
- package/lib/dist/material/normals.js +10 -12
- package/lib/dist/material/toon.d.ts +3 -13
- package/lib/dist/material/toon.d.ts.map +1 -1
- package/lib/dist/material/toon.js +76 -63
- package/lib/dist/painter/fragment-dhader/filter.d.ts +31 -0
- package/lib/dist/painter/fragment-dhader/filter.d.ts.map +1 -0
- package/lib/dist/painter/fragment-dhader/filter.js +161 -0
- package/lib/dist/painter/fragment-dhader/index.d.ts +2 -0
- package/lib/dist/painter/fragment-dhader/index.d.ts.map +1 -0
- package/lib/dist/painter/fragment-dhader/index.js +2 -0
- package/lib/dist/painter/fragment-shader/filter.d.ts +31 -0
- package/lib/dist/painter/fragment-shader/filter.d.ts.map +1 -0
- package/lib/dist/painter/fragment-shader/filter.js +161 -0
- package/lib/dist/painter/fragment-shader/fragment-shader.d.ts +29 -0
- package/lib/dist/painter/fragment-shader/fragment-shader.d.ts.map +1 -0
- package/lib/dist/painter/fragment-shader/fragment-shader.js +70 -0
- package/lib/dist/painter/fragment-shader/index.d.ts +2 -0
- package/lib/dist/painter/fragment-shader/index.d.ts.map +1 -0
- package/lib/dist/painter/fragment-shader/index.js +2 -0
- package/lib/dist/painter/framebuffer-msaa.d.ts +5 -2
- package/lib/dist/painter/framebuffer-msaa.d.ts.map +1 -1
- package/lib/dist/painter/framebuffer-msaa.js +2 -2
- package/lib/dist/painter/index.d.ts +1 -0
- package/lib/dist/painter/index.d.ts.map +1 -1
- package/lib/dist/painter/index.js +2 -1
- package/lib/dist/painter/mesh/gltf/gltf.d.ts.map +1 -1
- package/lib/dist/painter/mesh/gltf/gltf.js +4 -3
- package/lib/dist/painter/mesh/mesh/mesh.d.ts.map +1 -1
- package/lib/dist/painter/mesh/mesh/mesh.js +9 -12
- package/lib/dist/painter/segments/segments.js +3 -2
- package/lib/dist/painter/x-ray/x-ray.d.ts +8 -2
- package/lib/dist/painter/x-ray/x-ray.d.ts.map +1 -1
- package/lib/dist/painter/x-ray/x-ray.js +1 -1
- package/lib/dist/parser/gltf/gltf.d.ts +17 -26
- package/lib/dist/parser/gltf/gltf.d.ts.map +1 -1
- package/lib/dist/parser/gltf/gltf.js +147 -128
- package/lib/dist/types/gltf.d.ts +69 -51
- package/lib/dist/types/gltf.d.ts.map +1 -1
- package/lib/dist/types/gltf.js +17 -3
- package/lib/dist/types/input-pointer.d.ts +4 -0
- package/lib/dist/types/input-pointer.d.ts.map +1 -1
- package/lib/dist/utils/cyclic-buffer.d.ts +12 -0
- package/lib/dist/utils/cyclic-buffer.d.ts.map +1 -0
- package/lib/dist/utils/cyclic-buffer.js +26 -0
- package/lib/dist/utils/index.d.ts +1 -0
- package/lib/dist/utils/index.d.ts.map +1 -1
- package/lib/dist/utils/index.js +2 -1
- package/lib/dist/utils/math.d.ts +1 -0
- package/lib/dist/utils/math.d.ts.map +1 -1
- package/lib/dist/utils/math.js +8 -1
- package/lib/dist/utils/webgl.d.ts +1 -1
- package/lib/dist/utils/webgl.d.ts.map +1 -1
- package/lib/dist/utils/webgl.js +4 -1
- package/package.json +2 -2
|
@@ -39,6 +39,11 @@ export declare function tgdCodeFunction_polar2uv(options?: Partial<{
|
|
|
39
39
|
name: string;
|
|
40
40
|
uniAspectRatioInverse: string;
|
|
41
41
|
}>): TgdCodeFunctions;
|
|
42
|
+
/**
|
|
43
|
+
* The result of the function is a vec2 with:
|
|
44
|
+
* * x: the length
|
|
45
|
+
* * y: the angle
|
|
46
|
+
*/
|
|
42
47
|
export declare function tgdCodeFunction_uv2polar(options?: Partial<{
|
|
43
48
|
name: string;
|
|
44
49
|
uniAspectRatio: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coords.d.ts","sourceRoot":"","sources":["../../src/code/coords.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAE9C;;;GAGG;AACH,wBAAgB,qBAAqB,CACjC,OAAO,GAAE,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,CAAM,GAChE,gBAAgB,CAQlB;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACjC,OAAO,GAAE,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,qBAAqB,EAAE,MAAM,CAAA;CAAE,CAAM,GACvE,gBAAgB,CASlB;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACpC,OAAO,GAAE;IACL,IAAI,CAAC,EAAE,MAAM,CAAA;CACX,GACP,gBAAgB,CAWlB;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACpC,OAAO,GAAE;IACL,IAAI,CAAC,EAAE,MAAM,CAAA;CACX,GACP,gBAAgB,CAalB;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACpC,OAAO,GAAE,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,qBAAqB,EAAE,MAAM,CAAA;CAAE,CAAM,GACvE,gBAAgB,CAiBlB;AAED,wBAAgB,wBAAwB,CACpC,OAAO,GAAE,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,CAAM,GAChE,gBAAgB,CAYlB"}
|
|
1
|
+
{"version":3,"file":"coords.d.ts","sourceRoot":"","sources":["../../src/code/coords.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAE9C;;;GAGG;AACH,wBAAgB,qBAAqB,CACjC,OAAO,GAAE,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,CAAM,GAChE,gBAAgB,CAQlB;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACjC,OAAO,GAAE,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,qBAAqB,EAAE,MAAM,CAAA;CAAE,CAAM,GACvE,gBAAgB,CASlB;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACpC,OAAO,GAAE;IACL,IAAI,CAAC,EAAE,MAAM,CAAA;CACX,GACP,gBAAgB,CAWlB;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACpC,OAAO,GAAE;IACL,IAAI,CAAC,EAAE,MAAM,CAAA;CACX,GACP,gBAAgB,CAalB;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACpC,OAAO,GAAE,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,qBAAqB,EAAE,MAAM,CAAA;CAAE,CAAM,GACvE,gBAAgB,CAiBlB;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACpC,OAAO,GAAE,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,CAAM,GAChE,gBAAgB,CAYlB"}
|
package/lib/dist/code/coords.js
CHANGED
|
@@ -46,7 +46,7 @@ export function tgdCodeFunction_xy2polar(options = {}) {
|
|
|
46
46
|
* @see tgdCodeFunction_xy2polar
|
|
47
47
|
*/
|
|
48
48
|
export function tgdCodeFunction_polar2xy(options = {}) {
|
|
49
|
-
const { name = "
|
|
49
|
+
const { name = "polar2xy" } = options;
|
|
50
50
|
return {
|
|
51
51
|
[name]: `vec2 ${name}(vec2 polar) {
|
|
52
52
|
float r = polar.x;
|
|
@@ -79,6 +79,11 @@ export function tgdCodeFunction_polar2uv(options = {}) {
|
|
|
79
79
|
`,
|
|
80
80
|
};
|
|
81
81
|
}
|
|
82
|
+
/**
|
|
83
|
+
* The result of the function is a vec2 with:
|
|
84
|
+
* * x: the length
|
|
85
|
+
* * y: the angle
|
|
86
|
+
*/
|
|
82
87
|
export function tgdCodeFunction_uv2polar(options = {}) {
|
|
83
88
|
const { name = "uv2polar", uniAspectRatio = "uniAspectRatio" } = options;
|
|
84
89
|
return {
|
|
@@ -92,4 +97,4 @@ export function tgdCodeFunction_uv2polar(options = {}) {
|
|
|
92
97
|
`,
|
|
93
98
|
};
|
|
94
99
|
}
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29vcmRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvZGUvY29vcmRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOzs7R0FHRztBQUNILE1BQU0sVUFBVSxxQkFBcUIsQ0FDakMsVUFBNkQsRUFBRTtJQUUvRCxNQUFNLEVBQUUsSUFBSSxHQUFHLE9BQU8sRUFBRSxjQUFjLEdBQUcsZ0JBQWdCLEVBQUUsR0FBRyxPQUFPLENBQUE7SUFDckUsT0FBTztRQUNILENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxJQUFJOzJDQUNlLGNBQWM7O0NBRXhEO0tBQ0ksQ0FBQTtBQUNMLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUscUJBQXFCLENBQ2pDLFVBQW9FLEVBQUU7SUFFdEUsTUFBTSxFQUFFLElBQUksR0FBRyxPQUFPLEVBQUUscUJBQXFCLEdBQUcsdUJBQXVCLEVBQUUsR0FDckUsT0FBTyxDQUFBO0lBQ1gsT0FBTztRQUNILENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxJQUFJOzhCQUNFLHFCQUFxQjs7Q0FFbEQ7S0FDSSxDQUFBO0FBQ0wsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsd0JBQXdCLENBQ3BDLFVBRUksRUFBRTtJQUVOLE1BQU0sRUFBRSxJQUFJLEdBQUcsVUFBVSxFQUFFLEdBQUcsT0FBTyxDQUFBO0lBQ3JDLE9BQU87UUFDSCxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsSUFBSTs7Ozs7O0NBTTNCO0tBQ0ksQ0FBQTtBQUNMLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsd0JBQXdCLENBQ3BDLFVBRUksRUFBRTtJQUVOLE1BQU0sRUFBRSxJQUFJLEdBQUcsVUFBVSxFQUFFLEdBQUcsT0FBTyxDQUFBO0lBQ3JDLE9BQU87UUFDSCxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsSUFBSTs7Ozs7Ozs7Q0FRM0I7S0FDSSxDQUFBO0FBQ0wsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsd0JBQXdCLENBQ3BDLFVBQW9FLEVBQUU7SUFFdEUsTUFBTSxFQUNGLElBQUksR0FBRyxVQUFVLEVBQ2pCLHFCQUFxQixHQUFHLHVCQUF1QixHQUNsRCxHQUFHLE9BQU8sQ0FBQTtJQUNYLE9BQU87UUFDSCxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsSUFBSTs7Ozs7Ozs4QkFPRSxxQkFBcUI7O0NBRWxEO0tBQ0ksQ0FBQTtBQUNMLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLHdCQUF3QixDQUNwQyxVQUE2RCxFQUFFO0lBRS9ELE1BQU0sRUFBRSxJQUFJLEdBQUcsVUFBVSxFQUFFLGNBQWMsR0FBRyxnQkFBZ0IsRUFBRSxHQUFHLE9BQU8sQ0FBQTtJQUN4RSxPQUFPO1FBQ0gsQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLElBQUk7OENBQ2tCLGNBQWM7Ozs7OztDQU0zRDtLQUNJLENBQUE7QUFDTCxDQUFDIn0=
|
package/lib/dist/code/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/code/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/code/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA"}
|
package/lib/dist/code/index.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
export * from "./color.js";
|
|
2
2
|
export * from "./consts.js";
|
|
3
3
|
export * from "./coords.js";
|
|
4
|
+
export * from "./math.js";
|
|
5
|
+
export * from "./noise.js";
|
|
4
6
|
export * from "./random.js";
|
|
7
|
+
export * from "./space.js";
|
|
5
8
|
export * from "./transfo.js";
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29kZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFNBQVMsQ0FBQTtBQUN2QixjQUFjLFVBQVUsQ0FBQTtBQUN4QixjQUFjLFVBQVUsQ0FBQTtBQUN4QixjQUFjLFFBQVEsQ0FBQTtBQUN0QixjQUFjLFNBQVMsQ0FBQTtBQUN2QixjQUFjLFVBQVUsQ0FBQTtBQUN4QixjQUFjLFNBQVMsQ0FBQTtBQUN2QixjQUFjLFdBQVcsQ0FBQSJ9
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { TgdCodeFunctions } from "../shader";
|
|
2
|
+
/**
|
|
3
|
+
* Convert uv coords ([0.0, +1.0]) into xy coords ([-1.0, +1.0]).
|
|
4
|
+
* Requires uniform `uniAspectRatio`.
|
|
5
|
+
*/
|
|
6
|
+
export declare function tgdCodeFunction_mapRange(options?: Partial<{
|
|
7
|
+
name: string;
|
|
8
|
+
}>): TgdCodeFunctions;
|
|
9
|
+
export declare function tgdCodeFunction_mod289(options?: Partial<{
|
|
10
|
+
name: string;
|
|
11
|
+
}>): {
|
|
12
|
+
[x: string]: string;
|
|
13
|
+
};
|
|
14
|
+
export declare function tgdCodeFunction_permute(options?: Partial<{
|
|
15
|
+
name: string;
|
|
16
|
+
}>): {
|
|
17
|
+
[x: string]: string;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Taylor approximation of inverse square root.
|
|
21
|
+
*/
|
|
22
|
+
export declare function tgdCodeFunction_taylorInvSqrt(options?: Partial<{
|
|
23
|
+
name: string;
|
|
24
|
+
}>): {
|
|
25
|
+
[x: string]: string;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Quintic function.
|
|
29
|
+
*/
|
|
30
|
+
export declare function tgdCodeFunction_quintic(options?: Partial<{
|
|
31
|
+
name: string;
|
|
32
|
+
}>): {
|
|
33
|
+
[x: string]: string;
|
|
34
|
+
};
|
|
35
|
+
export declare function tgdCodeFunction_float01ToVec3(options?: Partial<{
|
|
36
|
+
name: string;
|
|
37
|
+
}>): TgdCodeFunctions;
|
|
38
|
+
//# sourceMappingURL=math.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../src/code/math.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAE9C;;;GAGG;AACH,wBAAgB,wBAAwB,CACpC,OAAO,GAAE,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAM,GACxC,gBAAgB,CASlB;AAED,wBAAgB,sBAAsB,CAClC,OAAO,GAAE,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAM;;EAW1C;AAED,wBAAgB,uBAAuB,CACnC,OAAO,GAAE,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAM;;EAW1C;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CACzC,OAAO,GAAE,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAM;;EAU1C;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACnC,OAAO,GAAE,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAM;;EAU1C;AAED,wBAAgB,6BAA6B,CACzC,OAAO,GAAE,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAM,GACxC,gBAAgB,CAalB"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convert uv coords ([0.0, +1.0]) into xy coords ([-1.0, +1.0]).
|
|
3
|
+
* Requires uniform `uniAspectRatio`.
|
|
4
|
+
*/
|
|
5
|
+
export function tgdCodeFunction_mapRange(options = {}) {
|
|
6
|
+
const { name = "mapRange" } = options;
|
|
7
|
+
return {
|
|
8
|
+
[name]: `float ${name}(float value, float fromMin, float fromMax, float toMin, float toMax) {
|
|
9
|
+
float t = (value - fromMin) / (fromMax - fromMin);
|
|
10
|
+
return toMin + (toMax - toMin) * t;
|
|
11
|
+
}
|
|
12
|
+
`,
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
export function tgdCodeFunction_mod289(options = {}) {
|
|
16
|
+
const { name = "mod289" } = options;
|
|
17
|
+
return {
|
|
18
|
+
[name]: `float ${name}(const in float x) { return x - floor(x * (1. / 289.)) * 289.; }
|
|
19
|
+
vec2 ${name}(const in vec2 x) { return x - floor(x * (1. / 289.)) * 289.; }
|
|
20
|
+
vec3 ${name}(const in vec3 x) { return x - floor(x * (1. / 289.)) * 289.; }
|
|
21
|
+
vec4 ${name}(const in vec4 x) { return x - floor(x * (1. / 289.)) * 289.; }
|
|
22
|
+
`,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
export function tgdCodeFunction_permute(options = {}) {
|
|
26
|
+
const { name = "permute" } = options;
|
|
27
|
+
return Object.assign(Object.assign({}, tgdCodeFunction_mod289()), { [name]: `float ${name}(const in float v) { return mod289(((v * 34.0) + 1.0) * v); }
|
|
28
|
+
vec2 ${name}(const in vec2 v) { return mod289(((v * 34.0) + 1.0) * v); }
|
|
29
|
+
vec3 ${name}(const in vec3 v) { return mod289(((v * 34.0) + 1.0) * v); }
|
|
30
|
+
vec4 ${name}(const in vec4 v) { return mod289(((v * 34.0) + 1.0) * v); }` });
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Taylor approximation of inverse square root.
|
|
34
|
+
*/
|
|
35
|
+
export function tgdCodeFunction_taylorInvSqrt(options = {}) {
|
|
36
|
+
const { name = "taylorInvSqrt" } = options;
|
|
37
|
+
return {
|
|
38
|
+
[name]: `float ${name}(in float r) { return 1.79284291400159 - 0.85373472095314 * r; }
|
|
39
|
+
vec2 ${name}(in vec2 r) { return 1.79284291400159 - 0.85373472095314 * r; }
|
|
40
|
+
vec3 ${name}(in vec3 r) { return 1.79284291400159 - 0.85373472095314 * r; }
|
|
41
|
+
vec4 ${name}(in vec4 r) { return 1.79284291400159 - 0.85373472095314 * r; }`,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Quintic function.
|
|
46
|
+
*/
|
|
47
|
+
export function tgdCodeFunction_quintic(options = {}) {
|
|
48
|
+
const { name = "quintic" } = options;
|
|
49
|
+
return {
|
|
50
|
+
[name]: `float ${name}(const in float v) { return v*v*v*(v*(v*6.0-15.0)+10.0); }
|
|
51
|
+
vec2 ${name}(const in vec2 v) { return v*v*v*(v*(v*6.0-15.0)+10.0); }
|
|
52
|
+
vec3 ${name}(const in vec3 v) { return v*v*v*(v*(v*6.0-15.0)+10.0); }
|
|
53
|
+
vec4 ${name}(const in vec4 v) { return v*v*v*(v*(v*6.0-15.0)+10.0); }`,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
export function tgdCodeFunction_float01ToVec3(options = {}) {
|
|
57
|
+
const { name = "float01ToVec3" } = options;
|
|
58
|
+
return {
|
|
59
|
+
[name]: `vec3 float01ToVec3(in float value) {
|
|
60
|
+
int z = int(float(0xFFFFFF) * value);
|
|
61
|
+
float r = float(z & 0xFF) / 255.0;
|
|
62
|
+
z >>= 8;
|
|
63
|
+
float g = float(z & 0xFF) / 255.0;
|
|
64
|
+
z >>= 8;
|
|
65
|
+
float b = float(z & 0xFF) / 255.0;
|
|
66
|
+
return vec3(r, g, b);
|
|
67
|
+
}`,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb2RlL21hdGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLHdCQUF3QixDQUNwQyxVQUFxQyxFQUFFO0lBRXZDLE1BQU0sRUFBRSxJQUFJLEdBQUcsVUFBVSxFQUFFLEdBQUcsT0FBTyxDQUFBO0lBQ3JDLE9BQU87UUFDSCxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsSUFBSTs7OztDQUk1QjtLQUNJLENBQUE7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLHNCQUFzQixDQUNsQyxVQUFxQyxFQUFFO0lBRXZDLE1BQU0sRUFBRSxJQUFJLEdBQUcsUUFBUSxFQUFFLEdBQUcsT0FBTyxDQUFBO0lBRW5DLE9BQU87UUFDSCxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsSUFBSTtPQUN0QixJQUFJO09BQ0osSUFBSTtPQUNKLElBQUk7Q0FDVjtLQUNJLENBQUE7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLHVCQUF1QixDQUNuQyxVQUFxQyxFQUFFO0lBRXZDLE1BQU0sRUFBRSxJQUFJLEdBQUcsU0FBUyxFQUFFLEdBQUcsT0FBTyxDQUFBO0lBRXBDLHVDQUNPLHNCQUFzQixFQUFFLEtBQzNCLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxJQUFJO09BQ3RCLElBQUk7T0FDSixJQUFJO09BQ0osSUFBSSw4REFBOEQsSUFDcEU7QUFDTCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsNkJBQTZCLENBQ3pDLFVBQXFDLEVBQUU7SUFFdkMsTUFBTSxFQUFFLElBQUksR0FBRyxlQUFlLEVBQUUsR0FBRyxPQUFPLENBQUE7SUFFMUMsT0FBTztRQUNILENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxJQUFJO09BQ3RCLElBQUk7T0FDSixJQUFJO09BQ0osSUFBSSxpRUFBaUU7S0FDdkUsQ0FBQTtBQUNMLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSx1QkFBdUIsQ0FDbkMsVUFBcUMsRUFBRTtJQUV2QyxNQUFNLEVBQUUsSUFBSSxHQUFHLFNBQVMsRUFBRSxHQUFHLE9BQU8sQ0FBQTtJQUVwQyxPQUFPO1FBQ0gsQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLElBQUk7UUFDckIsSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJLDREQUE0RDtLQUNuRSxDQUFBO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSw2QkFBNkIsQ0FDekMsVUFBcUMsRUFBRTtJQUV2QyxNQUFNLEVBQUUsSUFBSSxHQUFHLGVBQWUsRUFBRSxHQUFHLE9BQU8sQ0FBQTtJQUMxQyxPQUFPO1FBQ0gsQ0FBQyxJQUFJLENBQUMsRUFBRTs7Ozs7Ozs7RUFRZDtLQUNHLENBQUE7QUFDTCxDQUFDIn0=
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { TgdCodeFunctions } from "../shader";
|
|
2
|
+
/**
|
|
3
|
+
* Fractional Brownian Motion.
|
|
4
|
+
*
|
|
5
|
+
* @param options
|
|
6
|
+
* - `octaves`: Number of octaves (default to 8).
|
|
7
|
+
* - `noise`: Name of the noise function to use. It must use the same `type` (default to "perlinNoise").
|
|
8
|
+
* - `G`: You can define a value here and the function won't have it as argument. The one often used is 0.5.
|
|
9
|
+
*
|
|
10
|
+
* @see https://iquilezles.org/articles/fbm/
|
|
11
|
+
*/
|
|
12
|
+
export declare function tgdCodeFunction_fbm(options?: Partial<{
|
|
13
|
+
name: string;
|
|
14
|
+
octaves: number;
|
|
15
|
+
noise: string;
|
|
16
|
+
G: number;
|
|
17
|
+
}>): TgdCodeFunctions;
|
|
18
|
+
export declare function tgdCodeFunction_perlinNoise(options?: Partial<{
|
|
19
|
+
name: string;
|
|
20
|
+
}>): TgdCodeFunctions;
|
|
21
|
+
//# sourceMappingURL=noise.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"noise.d.ts","sourceRoot":"","sources":["../../src/code/noise.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAS3D;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAC/B,OAAO,GAAE,OAAO,CAAC;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,CAAC,EAAE,MAAM,CAAA;CACZ,CAAM,GACR,gBAAgB,CA0BlB;AAED,wBAAgB,2BAA2B,CACvC,OAAO,GAAE,OAAO,CAAC;IACb,IAAI,EAAE,MAAM,CAAA;CACf,CAAM,GACR,gBAAgB,CA0PlB"}
|
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
import { isNumber } from "./../types/guards.js";
|
|
2
|
+
import { tgdCodeFunction_mod289, tgdCodeFunction_permute, tgdCodeFunction_quintic, tgdCodeFunction_taylorInvSqrt, } from "./math.js";
|
|
3
|
+
/**
|
|
4
|
+
* Fractional Brownian Motion.
|
|
5
|
+
*
|
|
6
|
+
* @param options
|
|
7
|
+
* - `octaves`: Number of octaves (default to 8).
|
|
8
|
+
* - `noise`: Name of the noise function to use. It must use the same `type` (default to "perlinNoise").
|
|
9
|
+
* - `G`: You can define a value here and the function won't have it as argument. The one often used is 0.5.
|
|
10
|
+
*
|
|
11
|
+
* @see https://iquilezles.org/articles/fbm/
|
|
12
|
+
*/
|
|
13
|
+
export function tgdCodeFunction_fbm(options = {}) {
|
|
14
|
+
const { name = "fbm", octaves = 8, noise = "perlinNoise", G } = options;
|
|
15
|
+
const hasG = isNumber(G);
|
|
16
|
+
const functions = Object.assign(Object.assign(Object.assign({}, tgdCodeFunction_perlinNoise()), tgdCodeFunction_permute()), tgdCodeFunction_quintic());
|
|
17
|
+
for (const type of ["vec2", "vec3", "vec4"]) {
|
|
18
|
+
functions[`${name}:${type}`] =
|
|
19
|
+
`float ${name}( in ${type} x${hasG ? "" : ", in float G"} )
|
|
20
|
+
{ ${hasG ? `\nfloat G = ${G.toFixed(9)};` : ""}
|
|
21
|
+
float f = 1.0;
|
|
22
|
+
float a = 1.0;
|
|
23
|
+
float t = 0.0;
|
|
24
|
+
for( int i = 0; i < ${octaves}; i++ )
|
|
25
|
+
{
|
|
26
|
+
t += a * ${noise}(f * x);
|
|
27
|
+
f *= 2.0;
|
|
28
|
+
a *= G;
|
|
29
|
+
}
|
|
30
|
+
return t;
|
|
31
|
+
}
|
|
32
|
+
`;
|
|
33
|
+
}
|
|
34
|
+
return functions;
|
|
35
|
+
}
|
|
36
|
+
export function tgdCodeFunction_perlinNoise(options = {}) {
|
|
37
|
+
const { name = "perlinNoise" } = options;
|
|
38
|
+
return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, tgdCodeFunction_mod289()), tgdCodeFunction_permute()), tgdCodeFunction_quintic()), tgdCodeFunction_taylorInvSqrt()), { [`${name}:vec2`]: `float ${name}( in vec2 P )
|
|
39
|
+
{
|
|
40
|
+
vec4 Pi = floor(P.xyxy) + vec4(0.0, 0.0, 1.0, 1.0);
|
|
41
|
+
vec4 Pf = fract(P.xyxy) - vec4(0.0, 0.0, 1.0, 1.0);
|
|
42
|
+
Pi = mod289(Pi); // To avoid truncation effects in permutation
|
|
43
|
+
vec4 ix = Pi.xzxz;
|
|
44
|
+
vec4 iy = Pi.yyww;
|
|
45
|
+
vec4 fx = Pf.xzxz;
|
|
46
|
+
vec4 fy = Pf.yyww;
|
|
47
|
+
|
|
48
|
+
vec4 i = permute(permute(ix) + iy);
|
|
49
|
+
|
|
50
|
+
vec4 gx = fract(i * (1.0 / 41.0)) * 2.0 - 1.0 ;
|
|
51
|
+
vec4 gy = abs(gx) - 0.5 ;
|
|
52
|
+
vec4 tx = floor(gx + 0.5);
|
|
53
|
+
gx = gx - tx;
|
|
54
|
+
|
|
55
|
+
vec2 g00 = vec2(gx.x,gy.x);
|
|
56
|
+
vec2 g10 = vec2(gx.y,gy.y);
|
|
57
|
+
vec2 g01 = vec2(gx.z,gy.z);
|
|
58
|
+
vec2 g11 = vec2(gx.w,gy.w);
|
|
59
|
+
|
|
60
|
+
vec4 norm = taylorInvSqrt(vec4(dot(g00, g00), dot(g01, g01), dot(g10, g10), dot(g11, g11)));
|
|
61
|
+
g00 *= norm.x;
|
|
62
|
+
g01 *= norm.y;
|
|
63
|
+
g10 *= norm.z;
|
|
64
|
+
g11 *= norm.w;
|
|
65
|
+
|
|
66
|
+
float n00 = dot(g00, vec2(fx.x, fy.x));
|
|
67
|
+
float n10 = dot(g10, vec2(fx.y, fy.y));
|
|
68
|
+
float n01 = dot(g01, vec2(fx.z, fy.z));
|
|
69
|
+
float n11 = dot(g11, vec2(fx.w, fy.w));
|
|
70
|
+
|
|
71
|
+
vec2 fade_xy = quintic(Pf.xy);
|
|
72
|
+
vec2 n_x = mix(vec2(n00, n01), vec2(n10, n11), fade_xy.x);
|
|
73
|
+
float n_xy = mix(n_x.x, n_x.y, fade_xy.y);
|
|
74
|
+
return 2.3 * n_xy;
|
|
75
|
+
}
|
|
76
|
+
`, [`${name}:vec3`]: `float ${name}( in vec3 P)
|
|
77
|
+
{
|
|
78
|
+
vec3 Pi0 = floor(P); // Integer part, modulo period
|
|
79
|
+
vec3 Pi1 = Pi0 + vec3(1.0); // Integer part + 1, mod period
|
|
80
|
+
Pi0 = mod289(Pi0);
|
|
81
|
+
Pi1 = mod289(Pi1);
|
|
82
|
+
vec3 Pf0 = fract(P); // Fractional part for interpolation
|
|
83
|
+
vec3 Pf1 = Pf0 - vec3(1.0); // Fractional part - 1.0
|
|
84
|
+
vec4 ix = vec4(Pi0.x, Pi1.x, Pi0.x, Pi1.x);
|
|
85
|
+
vec4 iy = vec4(Pi0.yy, Pi1.yy);
|
|
86
|
+
vec4 iz0 = Pi0.zzzz;
|
|
87
|
+
vec4 iz1 = Pi1.zzzz;
|
|
88
|
+
|
|
89
|
+
vec4 ixy = permute(permute(ix) + iy);
|
|
90
|
+
vec4 ixy0 = permute(ixy + iz0);
|
|
91
|
+
vec4 ixy1 = permute(ixy + iz1);
|
|
92
|
+
|
|
93
|
+
vec4 gx0 = ixy0 * (1.0 / 7.0);
|
|
94
|
+
vec4 gy0 = fract(floor(gx0) * (1.0 / 7.0)) - 0.5;
|
|
95
|
+
gx0 = fract(gx0);
|
|
96
|
+
vec4 gz0 = vec4(0.5) - abs(gx0) - abs(gy0);
|
|
97
|
+
vec4 sz0 = step(gz0, vec4(0.0));
|
|
98
|
+
gx0 -= sz0 * (step(0.0, gx0) - 0.5);
|
|
99
|
+
gy0 -= sz0 * (step(0.0, gy0) - 0.5);
|
|
100
|
+
|
|
101
|
+
vec4 gx1 = ixy1 * (1.0 / 7.0);
|
|
102
|
+
vec4 gy1 = fract(floor(gx1) * (1.0 / 7.0)) - 0.5;
|
|
103
|
+
gx1 = fract(gx1);
|
|
104
|
+
vec4 gz1 = vec4(0.5) - abs(gx1) - abs(gy1);
|
|
105
|
+
vec4 sz1 = step(gz1, vec4(0.0));
|
|
106
|
+
gx1 -= sz1 * (step(0.0, gx1) - 0.5);
|
|
107
|
+
gy1 -= sz1 * (step(0.0, gy1) - 0.5);
|
|
108
|
+
|
|
109
|
+
vec3 g000 = vec3(gx0.x,gy0.x,gz0.x);
|
|
110
|
+
vec3 g100 = vec3(gx0.y,gy0.y,gz0.y);
|
|
111
|
+
vec3 g010 = vec3(gx0.z,gy0.z,gz0.z);
|
|
112
|
+
vec3 g110 = vec3(gx0.w,gy0.w,gz0.w);
|
|
113
|
+
vec3 g001 = vec3(gx1.x,gy1.x,gz1.x);
|
|
114
|
+
vec3 g101 = vec3(gx1.y,gy1.y,gz1.y);
|
|
115
|
+
vec3 g011 = vec3(gx1.z,gy1.z,gz1.z);
|
|
116
|
+
vec3 g111 = vec3(gx1.w,gy1.w,gz1.w);
|
|
117
|
+
|
|
118
|
+
vec4 norm0 = taylorInvSqrt(vec4(dot(g000, g000), dot(g010, g010), dot(g100, g100), dot(g110, g110)));
|
|
119
|
+
g000 *= norm0.x;
|
|
120
|
+
g010 *= norm0.y;
|
|
121
|
+
g100 *= norm0.z;
|
|
122
|
+
g110 *= norm0.w;
|
|
123
|
+
vec4 norm1 = taylorInvSqrt(vec4(dot(g001, g001), dot(g011, g011), dot(g101, g101), dot(g111, g111)));
|
|
124
|
+
g001 *= norm1.x;
|
|
125
|
+
g011 *= norm1.y;
|
|
126
|
+
g101 *= norm1.z;
|
|
127
|
+
g111 *= norm1.w;
|
|
128
|
+
|
|
129
|
+
float n000 = dot(g000, Pf0);
|
|
130
|
+
float n100 = dot(g100, vec3(Pf1.x, Pf0.yz));
|
|
131
|
+
float n010 = dot(g010, vec3(Pf0.x, Pf1.y, Pf0.z));
|
|
132
|
+
float n110 = dot(g110, vec3(Pf1.xy, Pf0.z));
|
|
133
|
+
float n001 = dot(g001, vec3(Pf0.xy, Pf1.z));
|
|
134
|
+
float n101 = dot(g101, vec3(Pf1.x, Pf0.y, Pf1.z));
|
|
135
|
+
float n011 = dot(g011, vec3(Pf0.x, Pf1.yz));
|
|
136
|
+
float n111 = dot(g111, Pf1);
|
|
137
|
+
|
|
138
|
+
vec3 fade_xyz = quintic(Pf0);
|
|
139
|
+
vec4 n_z = mix(vec4(n000, n100, n010, n110), vec4(n001, n101, n011, n111), fade_xyz.z);
|
|
140
|
+
vec2 n_yz = mix(n_z.xy, n_z.zw, fade_xyz.y);
|
|
141
|
+
float n_xyz = mix(n_yz.x, n_yz.y, fade_xyz.x);
|
|
142
|
+
return 2.2 * n_xyz;
|
|
143
|
+
}
|
|
144
|
+
`, [`${name}:vec4`]: `float ${name}( in vec4 P )
|
|
145
|
+
{
|
|
146
|
+
vec4 Pi0 = floor(P); // Integer part modulo rep
|
|
147
|
+
vec4 Pi1 = Pi0 + 1.0; // Integer part + 1 mod rep
|
|
148
|
+
Pi0 = mod289(Pi0);
|
|
149
|
+
Pi1 = mod289(Pi1);
|
|
150
|
+
vec4 Pf0 = fract(P); // Fractional part for interpolation
|
|
151
|
+
vec4 Pf1 = Pf0 - 1.0; // Fractional part - 1.0
|
|
152
|
+
vec4 ix = vec4(Pi0.x, Pi1.x, Pi0.x, Pi1.x);
|
|
153
|
+
vec4 iy = vec4(Pi0.yy, Pi1.yy);
|
|
154
|
+
vec4 iz0 = vec4(Pi0.zzzz);
|
|
155
|
+
vec4 iz1 = vec4(Pi1.zzzz);
|
|
156
|
+
vec4 iw0 = vec4(Pi0.wwww);
|
|
157
|
+
vec4 iw1 = vec4(Pi1.wwww);
|
|
158
|
+
|
|
159
|
+
vec4 ixy = permute(permute(ix) + iy);
|
|
160
|
+
vec4 ixy0 = permute(ixy + iz0);
|
|
161
|
+
vec4 ixy1 = permute(ixy + iz1);
|
|
162
|
+
vec4 ixy00 = permute(ixy0 + iw0);
|
|
163
|
+
vec4 ixy01 = permute(ixy0 + iw1);
|
|
164
|
+
vec4 ixy10 = permute(ixy1 + iw0);
|
|
165
|
+
vec4 ixy11 = permute(ixy1 + iw1);
|
|
166
|
+
|
|
167
|
+
vec4 gx00 = ixy00 * (1.0 / 7.0);
|
|
168
|
+
vec4 gy00 = floor(gx00) * (1.0 / 7.0);
|
|
169
|
+
vec4 gz00 = floor(gy00) * (1.0 / 6.0);
|
|
170
|
+
gx00 = fract(gx00) - 0.5;
|
|
171
|
+
gy00 = fract(gy00) - 0.5;
|
|
172
|
+
gz00 = fract(gz00) - 0.5;
|
|
173
|
+
vec4 gw00 = vec4(0.75) - abs(gx00) - abs(gy00) - abs(gz00);
|
|
174
|
+
vec4 sw00 = step(gw00, vec4(0.0));
|
|
175
|
+
gx00 -= sw00 * (step(0.0, gx00) - 0.5);
|
|
176
|
+
gy00 -= sw00 * (step(0.0, gy00) - 0.5);
|
|
177
|
+
|
|
178
|
+
vec4 gx01 = ixy01 * (1.0 / 7.0);
|
|
179
|
+
vec4 gy01 = floor(gx01) * (1.0 / 7.0);
|
|
180
|
+
vec4 gz01 = floor(gy01) * (1.0 / 6.0);
|
|
181
|
+
gx01 = fract(gx01) - 0.5;
|
|
182
|
+
gy01 = fract(gy01) - 0.5;
|
|
183
|
+
gz01 = fract(gz01) - 0.5;
|
|
184
|
+
vec4 gw01 = vec4(0.75) - abs(gx01) - abs(gy01) - abs(gz01);
|
|
185
|
+
vec4 sw01 = step(gw01, vec4(0.0));
|
|
186
|
+
gx01 -= sw01 * (step(0.0, gx01) - 0.5);
|
|
187
|
+
gy01 -= sw01 * (step(0.0, gy01) - 0.5);
|
|
188
|
+
|
|
189
|
+
vec4 gx10 = ixy10 * (1.0 / 7.0);
|
|
190
|
+
vec4 gy10 = floor(gx10) * (1.0 / 7.0);
|
|
191
|
+
vec4 gz10 = floor(gy10) * (1.0 / 6.0);
|
|
192
|
+
gx10 = fract(gx10) - 0.5;
|
|
193
|
+
gy10 = fract(gy10) - 0.5;
|
|
194
|
+
gz10 = fract(gz10) - 0.5;
|
|
195
|
+
vec4 gw10 = vec4(0.75) - abs(gx10) - abs(gy10) - abs(gz10);
|
|
196
|
+
vec4 sw10 = step(gw10, vec4(0.0));
|
|
197
|
+
gx10 -= sw10 * (step(0.0, gx10) - 0.5);
|
|
198
|
+
gy10 -= sw10 * (step(0.0, gy10) - 0.5);
|
|
199
|
+
|
|
200
|
+
vec4 gx11 = ixy11 * (1.0 / 7.0);
|
|
201
|
+
vec4 gy11 = floor(gx11) * (1.0 / 7.0);
|
|
202
|
+
vec4 gz11 = floor(gy11) * (1.0 / 6.0);
|
|
203
|
+
gx11 = fract(gx11) - 0.5;
|
|
204
|
+
gy11 = fract(gy11) - 0.5;
|
|
205
|
+
gz11 = fract(gz11) - 0.5;
|
|
206
|
+
vec4 gw11 = vec4(0.75) - abs(gx11) - abs(gy11) - abs(gz11);
|
|
207
|
+
vec4 sw11 = step(gw11, vec4(0.0));
|
|
208
|
+
gx11 -= sw11 * (step(0.0, gx11) - 0.5);
|
|
209
|
+
gy11 -= sw11 * (step(0.0, gy11) - 0.5);
|
|
210
|
+
|
|
211
|
+
vec4 g0000 = vec4(gx00.x,gy00.x,gz00.x,gw00.x);
|
|
212
|
+
vec4 g1000 = vec4(gx00.y,gy00.y,gz00.y,gw00.y);
|
|
213
|
+
vec4 g0100 = vec4(gx00.z,gy00.z,gz00.z,gw00.z);
|
|
214
|
+
vec4 g1100 = vec4(gx00.w,gy00.w,gz00.w,gw00.w);
|
|
215
|
+
vec4 g0010 = vec4(gx10.x,gy10.x,gz10.x,gw10.x);
|
|
216
|
+
vec4 g1010 = vec4(gx10.y,gy10.y,gz10.y,gw10.y);
|
|
217
|
+
vec4 g0110 = vec4(gx10.z,gy10.z,gz10.z,gw10.z);
|
|
218
|
+
vec4 g1110 = vec4(gx10.w,gy10.w,gz10.w,gw10.w);
|
|
219
|
+
vec4 g0001 = vec4(gx01.x,gy01.x,gz01.x,gw01.x);
|
|
220
|
+
vec4 g1001 = vec4(gx01.y,gy01.y,gz01.y,gw01.y);
|
|
221
|
+
vec4 g0101 = vec4(gx01.z,gy01.z,gz01.z,gw01.z);
|
|
222
|
+
vec4 g1101 = vec4(gx01.w,gy01.w,gz01.w,gw01.w);
|
|
223
|
+
vec4 g0011 = vec4(gx11.x,gy11.x,gz11.x,gw11.x);
|
|
224
|
+
vec4 g1011 = vec4(gx11.y,gy11.y,gz11.y,gw11.y);
|
|
225
|
+
vec4 g0111 = vec4(gx11.z,gy11.z,gz11.z,gw11.z);
|
|
226
|
+
vec4 g1111 = vec4(gx11.w,gy11.w,gz11.w,gw11.w);
|
|
227
|
+
|
|
228
|
+
vec4 norm00 = taylorInvSqrt(vec4(dot(g0000, g0000), dot(g0100, g0100), dot(g1000, g1000), dot(g1100, g1100)));
|
|
229
|
+
g0000 *= norm00.x;
|
|
230
|
+
g0100 *= norm00.y;
|
|
231
|
+
g1000 *= norm00.z;
|
|
232
|
+
g1100 *= norm00.w;
|
|
233
|
+
|
|
234
|
+
vec4 norm01 = taylorInvSqrt(vec4(dot(g0001, g0001), dot(g0101, g0101), dot(g1001, g1001), dot(g1101, g1101)));
|
|
235
|
+
g0001 *= norm01.x;
|
|
236
|
+
g0101 *= norm01.y;
|
|
237
|
+
g1001 *= norm01.z;
|
|
238
|
+
g1101 *= norm01.w;
|
|
239
|
+
|
|
240
|
+
vec4 norm10 = taylorInvSqrt(vec4(dot(g0010, g0010), dot(g0110, g0110), dot(g1010, g1010), dot(g1110, g1110)));
|
|
241
|
+
g0010 *= norm10.x;
|
|
242
|
+
g0110 *= norm10.y;
|
|
243
|
+
g1010 *= norm10.z;
|
|
244
|
+
g1110 *= norm10.w;
|
|
245
|
+
|
|
246
|
+
vec4 norm11 = taylorInvSqrt(vec4(dot(g0011, g0011), dot(g0111, g0111), dot(g1011, g1011), dot(g1111, g1111)));
|
|
247
|
+
g0011 *= norm11.x;
|
|
248
|
+
g0111 *= norm11.y;
|
|
249
|
+
g1011 *= norm11.z;
|
|
250
|
+
g1111 *= norm11.w;
|
|
251
|
+
|
|
252
|
+
float n0000 = dot(g0000, Pf0);
|
|
253
|
+
float n1000 = dot(g1000, vec4(Pf1.x, Pf0.yzw));
|
|
254
|
+
float n0100 = dot(g0100, vec4(Pf0.x, Pf1.y, Pf0.zw));
|
|
255
|
+
float n1100 = dot(g1100, vec4(Pf1.xy, Pf0.zw));
|
|
256
|
+
float n0010 = dot(g0010, vec4(Pf0.xy, Pf1.z, Pf0.w));
|
|
257
|
+
float n1010 = dot(g1010, vec4(Pf1.x, Pf0.y, Pf1.z, Pf0.w));
|
|
258
|
+
float n0110 = dot(g0110, vec4(Pf0.x, Pf1.yz, Pf0.w));
|
|
259
|
+
float n1110 = dot(g1110, vec4(Pf1.xyz, Pf0.w));
|
|
260
|
+
float n0001 = dot(g0001, vec4(Pf0.xyz, Pf1.w));
|
|
261
|
+
float n1001 = dot(g1001, vec4(Pf1.x, Pf0.yz, Pf1.w));
|
|
262
|
+
float n0101 = dot(g0101, vec4(Pf0.x, Pf1.y, Pf0.z, Pf1.w));
|
|
263
|
+
float n1101 = dot(g1101, vec4(Pf1.xy, Pf0.z, Pf1.w));
|
|
264
|
+
float n0011 = dot(g0011, vec4(Pf0.xy, Pf1.zw));
|
|
265
|
+
float n1011 = dot(g1011, vec4(Pf1.x, Pf0.y, Pf1.zw));
|
|
266
|
+
float n0111 = dot(g0111, vec4(Pf0.x, Pf1.yzw));
|
|
267
|
+
float n1111 = dot(g1111, Pf1);
|
|
268
|
+
|
|
269
|
+
vec4 fade_xyzw = quintic(Pf0);
|
|
270
|
+
vec4 n_0w = mix(vec4(n0000, n1000, n0100, n1100), vec4(n0001, n1001, n0101, n1101), fade_xyzw.w);
|
|
271
|
+
vec4 n_1w = mix(vec4(n0010, n1010, n0110, n1110), vec4(n0011, n1011, n0111, n1111), fade_xyzw.w);
|
|
272
|
+
vec4 n_zw = mix(n_0w, n_1w, fade_xyzw.z);
|
|
273
|
+
vec2 n_yzw = mix(n_zw.xy, n_zw.zw, fade_xyzw.y);
|
|
274
|
+
float n_xyzw = mix(n_yzw.x, n_yzw.y, fade_xyzw.x);
|
|
275
|
+
return 2.2 * n_xyzw;
|
|
276
|
+
}
|
|
277
|
+
` });
|
|
278
|
+
}
|
|
279
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9pc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29kZS9ub2lzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDNUMsT0FBTyxFQUNILHNCQUFzQixFQUN0Qix1QkFBdUIsRUFDdkIsdUJBQXVCLEVBQ3ZCLDZCQUE2QixHQUNoQyxNQUFNLFFBQVEsQ0FBQTtBQUVmOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sVUFBVSxtQkFBbUIsQ0FDL0IsVUFLSyxFQUFFO0lBRVAsTUFBTSxFQUFFLElBQUksR0FBRyxLQUFLLEVBQUUsT0FBTyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsYUFBYSxFQUFFLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQTtJQUN2RSxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDeEIsTUFBTSxTQUFTLGlEQUNSLDJCQUEyQixFQUFFLEdBQzdCLHVCQUF1QixFQUFFLEdBQ3pCLHVCQUF1QixFQUFFLENBQy9CLENBQUE7SUFDRCxLQUFLLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQzFDLFNBQVMsQ0FBQyxHQUFHLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUN4QixTQUFTLElBQUksUUFBUSxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGNBQWM7TUFDOUQsSUFBSSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTs7OzswQkFJdEIsT0FBTzs7bUJBRWQsS0FBSzs7Ozs7O0NBTXZCLENBQUE7SUFDRyxDQUFDO0lBQ0QsT0FBTyxTQUFTLENBQUE7QUFDcEIsQ0FBQztBQUVELE1BQU0sVUFBVSwyQkFBMkIsQ0FDdkMsVUFFSyxFQUFFO0lBRVAsTUFBTSxFQUFFLElBQUksR0FBRyxhQUFhLEVBQUUsR0FBRyxPQUFPLENBQUE7SUFDeEMsaUZBQ08sc0JBQXNCLEVBQUUsR0FDeEIsdUJBQXVCLEVBQUUsR0FDekIsdUJBQXVCLEVBQUUsR0FDekIsNkJBQTZCLEVBQUUsS0FDbEMsQ0FBQyxHQUFHLElBQUksT0FBTyxDQUFDLEVBQUUsU0FBUyxJQUFJOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQXNDdEMsRUFDTyxDQUFDLEdBQUcsSUFBSSxPQUFPLENBQUMsRUFBRSxTQUFTLElBQUk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBb0V0QyxFQUNPLENBQUMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxFQUFFLFNBQVMsSUFBSTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQXFJdEMsSUFDSTtBQUNMLENBQUMifQ==
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { TgdCodeFunctions } from "../shader";
|
|
2
|
+
/**
|
|
3
|
+
* Transform a vertex coords from world space to camera space.
|
|
4
|
+
*/
|
|
5
|
+
export declare function tgdCodeFunction_vertexFromWorldToCamera({ name, uniModelViewMatrix, }?: {
|
|
6
|
+
name?: string;
|
|
7
|
+
uniModelViewMatrix?: string;
|
|
8
|
+
}): TgdCodeFunctions;
|
|
9
|
+
/**
|
|
10
|
+
* Transform a mormal coords from world space to camera space.
|
|
11
|
+
*/
|
|
12
|
+
export declare function tgdCodeFunction_normalFromWorldToCamera({ name, uniModelViewMatrix, }?: {
|
|
13
|
+
name?: string;
|
|
14
|
+
uniModelViewMatrix?: string;
|
|
15
|
+
}): TgdCodeFunctions;
|
|
16
|
+
/**
|
|
17
|
+
* Transform a vertex coords from world space to camera space.
|
|
18
|
+
*/
|
|
19
|
+
export declare function tgdCodeFunction_vertexFromWorldToScreen({ name, uniModelViewMatrix, uniProjectionMatrix, }?: {
|
|
20
|
+
name?: string;
|
|
21
|
+
uniModelViewMatrix?: string;
|
|
22
|
+
uniProjectionMatrix?: string;
|
|
23
|
+
}): TgdCodeFunctions;
|
|
24
|
+
//# sourceMappingURL=space.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"space.d.ts","sourceRoot":"","sources":["../../src/code/space.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAE9C;;GAEG;AACH,wBAAgB,uCAAuC,CAAC,EACpD,IAAgC,EAChC,kBAAyC,GAC5C,GAAE;IACC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,kBAAkB,CAAC,EAAE,MAAM,CAAA;CACzB,GAAG,gBAAgB,CAWxB;AAED;;GAEG;AACH,wBAAgB,uCAAuC,CAAC,EACpD,IAAgC,EAChC,kBAAyC,GAC5C,GAAE;IACC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,kBAAkB,CAAC,EAAE,MAAM,CAAA;CACzB,GAAG,gBAAgB,CAOxB;AAED;;GAEG;AACH,wBAAgB,uCAAuC,CAAC,EACpD,IAAgC,EAChC,kBAAyC,EACzC,mBAA2C,GAC9C,GAAE;IACC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC1B,GAAG,gBAAgB,CAWxB"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transform a vertex coords from world space to camera space.
|
|
3
|
+
*/
|
|
4
|
+
export function tgdCodeFunction_vertexFromWorldToCamera({ name = "vertexFromWorldToCamera", uniModelViewMatrix = "uniModelViewMatrix", } = {}) {
|
|
5
|
+
return {
|
|
6
|
+
[`${name}:vec3`]: `vec4 ${name}(vec3 vertex) {
|
|
7
|
+
return ${uniModelViewMatrix} * vec4(vertex, 1.0);
|
|
8
|
+
}
|
|
9
|
+
`,
|
|
10
|
+
[`${name}:vec4`]: `vec4 ${name}(vec4 vertex) {
|
|
11
|
+
return ${uniModelViewMatrix} * vertex;
|
|
12
|
+
}
|
|
13
|
+
`,
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Transform a mormal coords from world space to camera space.
|
|
18
|
+
*/
|
|
19
|
+
export function tgdCodeFunction_normalFromWorldToCamera({ name = "normalFromWorldToCamera", uniModelViewMatrix = "uniModelViewMatrix", } = {}) {
|
|
20
|
+
return {
|
|
21
|
+
[name]: `vec3 ${name}(vec3 normal) {
|
|
22
|
+
return mat3(${uniModelViewMatrix}) * normal;
|
|
23
|
+
}
|
|
24
|
+
`,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Transform a vertex coords from world space to camera space.
|
|
29
|
+
*/
|
|
30
|
+
export function tgdCodeFunction_vertexFromWorldToScreen({ name = "vertexFromWorldToScreen", uniModelViewMatrix = "uniModelViewMatrix", uniProjectionMatrix = "uniProjectionMatrix", } = {}) {
|
|
31
|
+
return {
|
|
32
|
+
[`${name}:vec3`]: `vec4 ${name}(vec3 vertex) {
|
|
33
|
+
return ${uniProjectionMatrix} * ${uniModelViewMatrix} * vec4(vertex, 1.0);
|
|
34
|
+
}
|
|
35
|
+
`,
|
|
36
|
+
[`${name}:vec4`]: `vec4 ${name}(vec4 vertex) {
|
|
37
|
+
return ${uniProjectionMatrix} * ${uniModelViewMatrix} * vertex;
|
|
38
|
+
}
|
|
39
|
+
`,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29kZS9zcGFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7R0FFRztBQUNILE1BQU0sVUFBVSx1Q0FBdUMsQ0FBQyxFQUNwRCxJQUFJLEdBQUcseUJBQXlCLEVBQ2hDLGtCQUFrQixHQUFHLG9CQUFvQixNQUl6QyxFQUFFO0lBQ0YsT0FBTztRQUNILENBQUMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxFQUFFLFFBQVEsSUFBSTthQUN6QixrQkFBa0I7O0NBRTlCO1FBQ08sQ0FBQyxHQUFHLElBQUksT0FBTyxDQUFDLEVBQUUsUUFBUSxJQUFJO2FBQ3pCLGtCQUFrQjs7Q0FFOUI7S0FDSSxDQUFBO0FBQ0wsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLHVDQUF1QyxDQUFDLEVBQ3BELElBQUksR0FBRyx5QkFBeUIsRUFDaEMsa0JBQWtCLEdBQUcsb0JBQW9CLE1BSXpDLEVBQUU7SUFDRixPQUFPO1FBQ0gsQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLElBQUk7a0JBQ1Ysa0JBQWtCOztDQUVuQztLQUNJLENBQUE7QUFDTCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsdUNBQXVDLENBQUMsRUFDcEQsSUFBSSxHQUFHLHlCQUF5QixFQUNoQyxrQkFBa0IsR0FBRyxvQkFBb0IsRUFDekMsbUJBQW1CLEdBQUcscUJBQXFCLE1BSzNDLEVBQUU7SUFDRixPQUFPO1FBQ0gsQ0FBQyxHQUFHLElBQUksT0FBTyxDQUFDLEVBQUUsUUFBUSxJQUFJO2FBQ3pCLG1CQUFtQixNQUFNLGtCQUFrQjs7Q0FFdkQ7UUFDTyxDQUFDLEdBQUcsSUFBSSxPQUFPLENBQUMsRUFBRSxRQUFRLElBQUk7YUFDekIsbUJBQW1CLE1BQU0sa0JBQWtCOztDQUV2RDtLQUNJLENBQUE7QUFDTCxDQUFDIn0=
|
|
@@ -2,7 +2,7 @@ import { TgdCodeFunctions } from "../shader";
|
|
|
2
2
|
/**
|
|
3
3
|
* Rotate 2D coordinates.
|
|
4
4
|
*/
|
|
5
|
-
export declare function tgdCodeFunction_rotate2D(options
|
|
5
|
+
export declare function tgdCodeFunction_rotate2D(options?: Partial<{
|
|
6
6
|
name: string;
|
|
7
|
-
}): TgdCodeFunctions;
|
|
7
|
+
}>): TgdCodeFunctions;
|
|
8
8
|
//# sourceMappingURL=transfo.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transfo.d.ts","sourceRoot":"","sources":["../../src/code/transfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAE9C;;GAEG;AACH,wBAAgB,wBAAwB,
|
|
1
|
+
{"version":3,"file":"transfo.d.ts","sourceRoot":"","sources":["../../src/code/transfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAE9C;;GAEG;AACH,wBAAgB,wBAAwB,CACpC,OAAO,GAAE,OAAO,CAAC;IACb,IAAI,EAAE,MAAM,CAAA;CACf,CAAM,GACR,gBAAgB,CAclB"}
|
package/lib/dist/code/transfo.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Rotate 2D coordinates.
|
|
3
3
|
*/
|
|
4
|
-
export function tgdCodeFunction_rotate2D(options) {
|
|
4
|
+
export function tgdCodeFunction_rotate2D(options = {}) {
|
|
5
5
|
const { name = "rotate2D" } = options;
|
|
6
6
|
return {
|
|
7
7
|
[name]: `vec2 ${name}(vec2 p, float angle) {
|
|
@@ -16,4 +16,4 @@ export function tgdCodeFunction_rotate2D(options) {
|
|
|
16
16
|
`,
|
|
17
17
|
};
|
|
18
18
|
}
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb2RlL3RyYW5zZm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7O0dBRUc7QUFDSCxNQUFNLFVBQVUsd0JBQXdCLENBQ3BDLFVBRUssRUFBRTtJQUVQLE1BQU0sRUFBRSxJQUFJLEdBQUcsVUFBVSxFQUFFLEdBQUcsT0FBTyxDQUFBO0lBQ3JDLE9BQU87UUFDSCxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsSUFBSTs7Ozs7Ozs7O0NBUzNCO0tBQ0ksQ0FBQTtBQUNMLENBQUMifQ==
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { TgdDataset, TgdDatasetType } from "../dataset";
|
|
2
2
|
import { TgdTypeArrayForElements, WebglDrawMode } from "../types";
|
|
3
3
|
interface TgdGeometryOptionsCommon {
|
|
4
|
+
name?: string;
|
|
4
5
|
/**
|
|
5
6
|
* Default mode is TRIANGLES.
|
|
6
7
|
*/
|
|
@@ -39,6 +40,7 @@ interface Float32Attribute {
|
|
|
39
40
|
* for the vertices.
|
|
40
41
|
*/
|
|
41
42
|
export declare class TgdGeometry {
|
|
43
|
+
readonly name: string;
|
|
42
44
|
/** Name of the POSITION attribute in the shader. */
|
|
43
45
|
readonly attPosition: string;
|
|
44
46
|
/** Name of the NORMAL attribute in the shader. */
|
|
@@ -50,8 +52,10 @@ export declare class TgdGeometry {
|
|
|
50
52
|
readonly drawMode: WebglDrawMode | number;
|
|
51
53
|
protected _dataset: TgdDataset;
|
|
52
54
|
protected _elementsType: number;
|
|
55
|
+
private static counter;
|
|
53
56
|
static make(options: TgdGeometryOptions2): TgdGeometry;
|
|
54
57
|
constructor(options: TgdGeometryOptions1);
|
|
58
|
+
debug(caption?: string): void;
|
|
55
59
|
get dataset(): Readonly<TgdDataset>;
|
|
56
60
|
get elementsType(): number;
|
|
57
61
|
getElement(index: number): number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geometry.d.ts","sourceRoot":"","sources":["../../src/geometry/geometry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAwB,MAAM,cAAc,CAAA;AAC/E,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAInE,UAAU,wBAAwB;IAC9B;;OAEG;IACH,QAAQ,CAAC,EAAE,aAAa,GAAG,MAAM,CAAA;IACjC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,uBAAuB,CAAA;IAClC;;;OAGG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAA;CACpC;AAED,MAAM,WAAW,mBAAoB,SAAQ,wBAAwB;IACjE,OAAO,EAAE,UAAU,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,mBAAoB,SAAQ,wBAAwB;IACjE,WAAW,EAAE,gBAAgB,CAAA;IAC7B,SAAS,CAAC,EAAE,gBAAgB,CAAA;IAC5B,KAAK,CAAC,EAAE,gBAAgB,CAAA;CAC3B;AAED,UAAU,gBAAgB;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,YAAY,CAAA;IAClB,IAAI,CAAC,EAAE,cAAc,CAAA;CACxB;AAED;;;;GAIG;AACH,qBAAa,WAAW;IACpB,oDAAoD;IACpD,SAAgB,WAAW,EAAE,MAAM,CAAA;IACnC,kDAAkD;IAClD,SAAgB,SAAS,EAAE,MAAM,CAAA;IACjC,8CAA8C;IAC9C,SAAgB,KAAK,EAAE,MAAM,CAAA;IAC7B,SAAgB,KAAK,EAAE,MAAM,CAAA;IAC7B,SAAgB,QAAQ,CAAC,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAA;IAC5D,SAAgB,QAAQ,EAAE,aAAa,GAAG,MAAM,CAAA;IAEhD,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAA;IAC9B,SAAS,CAAC,aAAa,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"geometry.d.ts","sourceRoot":"","sources":["../../src/geometry/geometry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAwB,MAAM,cAAc,CAAA;AAC/E,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAInE,UAAU,wBAAwB;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,QAAQ,CAAC,EAAE,aAAa,GAAG,MAAM,CAAA;IACjC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,uBAAuB,CAAA;IAClC;;;OAGG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAA;CACpC;AAED,MAAM,WAAW,mBAAoB,SAAQ,wBAAwB;IACjE,OAAO,EAAE,UAAU,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,mBAAoB,SAAQ,wBAAwB;IACjE,WAAW,EAAE,gBAAgB,CAAA;IAC7B,SAAS,CAAC,EAAE,gBAAgB,CAAA;IAC5B,KAAK,CAAC,EAAE,gBAAgB,CAAA;CAC3B;AAED,UAAU,gBAAgB;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,YAAY,CAAA;IAClB,IAAI,CAAC,EAAE,cAAc,CAAA;CACxB;AAED;;;;GAIG;AACH,qBAAa,WAAW;IACpB,SAAgB,IAAI,EAAE,MAAM,CAAA;IAC5B,oDAAoD;IACpD,SAAgB,WAAW,EAAE,MAAM,CAAA;IACnC,kDAAkD;IAClD,SAAgB,SAAS,EAAE,MAAM,CAAA;IACjC,8CAA8C;IAC9C,SAAgB,KAAK,EAAE,MAAM,CAAA;IAC7B,SAAgB,KAAK,EAAE,MAAM,CAAA;IAC7B,SAAgB,QAAQ,CAAC,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAA;IAC5D,SAAgB,QAAQ,EAAE,aAAa,GAAG,MAAM,CAAA;IAEhD,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAA;IAC9B,SAAS,CAAC,aAAa,EAAE,MAAM,CAAA;IAE/B,OAAO,CAAC,MAAM,CAAC,OAAO,CAAI;WAEZ,IAAI,CAAC,OAAO,EAAE,mBAAmB;gBAmBnC,OAAO,EAAE,mBAAmB;IAwBxC,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM;IAOtB,IAAI,OAAO,IAAI,QAAQ,CAAC,UAAU,CAAC,CAElC;IAED,IAAI,YAAY,WAEf;IAEM,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIjC,cAAc;IAyBrB,OAAO,CAAC,kCAAkC;CAgE7C"}
|