@tolokoban/tgd 2.0.23 → 2.0.25
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/camera/camera-orthographic.d.ts +1 -0
- package/lib/dist/camera/camera-orthographic.d.ts.map +1 -1
- package/lib/dist/camera/camera-orthographic.js +21 -1
- package/lib/dist/camera/camera-perspective.d.ts +7 -0
- package/lib/dist/camera/camera-perspective.d.ts.map +1 -1
- package/lib/dist/camera/camera-perspective.js +23 -5
- package/lib/dist/camera/camera.d.ts +3 -2
- package/lib/dist/camera/camera.d.ts.map +1 -1
- package/lib/dist/camera/camera.js +14 -10
- package/lib/dist/canvas/gizmo/gizmo.d.ts +4 -5
- package/lib/dist/canvas/gizmo/gizmo.d.ts.map +1 -1
- package/lib/dist/canvas/gizmo/gizmo.js +37 -25
- package/lib/dist/canvas/gizmo/painter/shader.frag +1 -1
- package/lib/dist/canvas/gizmo/painter/shader.vert +1 -1
- package/lib/dist/code/color.d.ts +4 -4
- package/lib/dist/code/color.d.ts.map +1 -1
- package/lib/dist/code/color.js +3 -3
- package/lib/dist/code/coords.d.ts +4 -4
- package/lib/dist/code/coords.d.ts.map +1 -1
- package/lib/dist/code/coords.js +4 -4
- package/lib/dist/code/random.d.ts +2 -2
- package/lib/dist/code/random.d.ts.map +1 -1
- package/lib/dist/code/random.js +2 -2
- package/lib/dist/context/animation/animation-manager.d.ts +1 -0
- package/lib/dist/context/animation/animation-manager.d.ts.map +1 -1
- package/lib/dist/context/animation/animation-manager.js +11 -3
- package/lib/dist/context/context.d.ts +12 -2
- package/lib/dist/context/context.d.ts.map +1 -1
- package/lib/dist/context/context.js +80 -34
- package/lib/dist/controller/camera/orbit.d.ts +15 -2
- package/lib/dist/controller/camera/orbit.d.ts.map +1 -1
- package/lib/dist/controller/camera/orbit.js +18 -6
- package/lib/dist/data/gltf/gltf.d.ts +60 -0
- package/lib/dist/data/gltf/gltf.d.ts.map +1 -0
- package/lib/dist/data/gltf/gltf.js +337 -0
- package/lib/dist/data/gltf/index.d.ts +2 -0
- package/lib/dist/data/gltf/index.d.ts.map +1 -0
- package/lib/dist/data/gltf/index.js +2 -0
- package/lib/dist/data/gltf/parser.d.ts +13 -0
- package/lib/dist/data/gltf/parser.d.ts.map +1 -0
- package/lib/dist/data/gltf/parser.js +54 -0
- package/lib/dist/data/index.d.ts +2 -0
- package/lib/dist/data/index.d.ts.map +1 -0
- package/lib/dist/data/index.js +2 -0
- package/lib/dist/factory/index.d.ts +2 -0
- package/lib/dist/factory/index.d.ts.map +1 -0
- package/lib/dist/factory/index.js +2 -0
- package/lib/dist/factory/mesh-glb.d.ts +42 -0
- package/lib/dist/factory/mesh-glb.d.ts.map +1 -0
- package/lib/dist/factory/mesh-glb.js +91 -0
- package/lib/dist/filter/blur.d.ts +2 -0
- package/lib/dist/filter/blur.d.ts.map +1 -1
- package/lib/dist/filter/blur.js +7 -5
- package/lib/dist/filter/chromatic-aberration.js +2 -2
- package/lib/dist/filter/filter.d.ts +10 -2
- package/lib/dist/filter/filter.d.ts.map +1 -1
- package/lib/dist/filter/filter.js +4 -8
- package/lib/dist/filter/hue-rotation.d.ts +2 -3
- package/lib/dist/filter/hue-rotation.d.ts.map +1 -1
- package/lib/dist/filter/hue-rotation.js +2 -2
- package/lib/dist/filter/zoom.d.ts +2 -3
- package/lib/dist/filter/zoom.d.ts.map +1 -1
- package/lib/dist/filter/zoom.js +3 -3
- package/lib/dist/index.d.ts +1 -0
- package/lib/dist/index.d.ts.map +1 -1
- package/lib/dist/index.js +2 -1
- package/lib/dist/input/pointer.d.ts +2 -1
- package/lib/dist/input/pointer.d.ts.map +1 -1
- package/lib/dist/input/pointer.js +8 -1
- package/lib/dist/interface/transformable.d.ts +1 -0
- package/lib/dist/interface/transformable.d.ts.map +1 -1
- package/lib/dist/loader/asset.d.ts +2 -2
- package/lib/dist/loader/asset.d.ts.map +1 -1
- package/lib/dist/loader/asset.js +1 -1
- package/lib/dist/loader/binary.d.ts +4 -3
- package/lib/dist/loader/binary.d.ts.map +1 -1
- package/lib/dist/loader/binary.js +31 -9
- package/lib/dist/material/diffuse.d.ts.map +1 -1
- package/lib/dist/material/diffuse.js +7 -5
- package/lib/dist/material/flat.d.ts +20 -0
- package/lib/dist/material/flat.d.ts.map +1 -0
- package/lib/dist/material/flat.js +18 -0
- package/lib/dist/material/index.d.ts +1 -0
- package/lib/dist/material/index.d.ts.map +1 -1
- package/lib/dist/material/index.js +2 -1
- package/lib/dist/math/index.d.ts +1 -0
- package/lib/dist/math/index.d.ts.map +1 -1
- package/lib/dist/math/index.js +2 -1
- package/lib/dist/math/mat2.d.ts +29 -0
- package/lib/dist/math/mat2.d.ts.map +1 -0
- package/lib/dist/math/mat2.js +94 -0
- package/lib/dist/math/quat.d.ts +25 -16
- package/lib/dist/math/quat.d.ts.map +1 -1
- package/lib/dist/math/quat.js +32 -54
- package/lib/dist/math/transfo.d.ts +11 -6
- package/lib/dist/math/transfo.d.ts.map +1 -1
- package/lib/dist/math/transfo.js +47 -30
- package/lib/dist/math/vec3.d.ts +6 -2
- package/lib/dist/math/vec3.d.ts.map +1 -1
- package/lib/dist/math/vec3.js +16 -5
- package/lib/dist/math/vec4.d.ts +1 -1
- package/lib/dist/math/vec4.d.ts.map +1 -1
- package/lib/dist/math/vec4.js +2 -2
- package/lib/dist/painter/axes/axes.frag +1 -1
- package/lib/dist/painter/axes/axes.vert +1 -1
- package/lib/dist/painter/background/background.d.ts +28 -2
- package/lib/dist/painter/background/background.d.ts.map +1 -1
- package/lib/dist/painter/background/background.frag +1 -1
- package/lib/dist/painter/background/background.js +47 -13
- package/lib/dist/painter/background-with-depth/background-with-depth.d.ts +24 -0
- package/lib/dist/painter/background-with-depth/background-with-depth.d.ts.map +1 -0
- package/lib/dist/painter/background-with-depth/background-with-depth.js +120 -0
- package/lib/dist/painter/background-with-depth/background.frag +17 -0
- package/lib/dist/painter/background-with-depth/background.vert +13 -0
- package/lib/dist/painter/background-with-depth/index.d.ts +2 -0
- package/lib/dist/painter/background-with-depth/index.d.ts.map +1 -0
- package/lib/dist/painter/background-with-depth/index.js +2 -0
- package/lib/dist/painter/debug/stencil/stencil.frag +1 -1
- package/lib/dist/painter/filter/filter.d.ts +1 -1
- package/lib/dist/painter/filter/filter.d.ts.map +1 -1
- package/lib/dist/painter/filter/filter.js +10 -10
- package/lib/dist/painter/framebuffer.d.ts.map +1 -1
- package/lib/dist/painter/framebuffer.js +2 -2
- package/lib/dist/painter/group.d.ts.map +1 -1
- package/lib/dist/painter/group.js +1 -1
- 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 +8 -4
- package/lib/dist/painter/mesh/gltf/gltf.d.ts.map +1 -1
- package/lib/dist/painter/mesh/gltf/gltf.js +23 -11
- package/lib/dist/painter/mesh/mesh/mesh.d.ts +12 -3
- package/lib/dist/painter/mesh/mesh/mesh.d.ts.map +1 -1
- package/lib/dist/painter/mesh/mesh/mesh.js +4 -2
- package/lib/dist/painter/mesh/normals/shader.vert +1 -1
- package/lib/dist/painter/node/node.d.ts +20 -7
- package/lib/dist/painter/node/node.d.ts.map +1 -1
- package/lib/dist/painter/node/node.js +74 -17
- package/lib/dist/painter/segments/segments.d.ts +9 -7
- package/lib/dist/painter/segments/segments.d.ts.map +1 -1
- package/lib/dist/painter/segments/segments.frag +12 -2
- package/lib/dist/painter/segments/segments.js +64 -36
- package/lib/dist/painter/segments/segments.vert +12 -5
- package/lib/dist/painter/skybox/skybox.d.ts +5 -4
- package/lib/dist/painter/skybox/skybox.d.ts.map +1 -1
- package/lib/dist/painter/skybox/skybox.frag +3 -2
- package/lib/dist/painter/skybox/skybox.js +26 -20
- package/lib/dist/painter/skybox/skybox.vert +3 -4
- package/lib/dist/painter/state/state.d.ts +10 -2
- package/lib/dist/painter/state/state.d.ts.map +1 -1
- package/lib/dist/painter/state/state.js +49 -19
- package/lib/dist/parser/gltf/gltf.d.ts +18 -2
- package/lib/dist/parser/gltf/gltf.d.ts.map +1 -1
- package/lib/dist/parser/gltf/gltf.js +78 -2
- package/lib/dist/parser/gltf/parser.d.ts +4 -0
- package/lib/dist/parser/gltf/parser.d.ts.map +1 -1
- package/lib/dist/parser/gltf/parser.js +5 -2
- package/lib/dist/program/program.d.ts +4 -3
- package/lib/dist/program/program.d.ts.map +1 -1
- package/lib/dist/program/program.js +22 -8
- package/lib/dist/shader/code.d.ts +2 -2
- package/lib/dist/shader/code.d.ts.map +1 -1
- package/lib/dist/shader/code.js +16 -3
- package/lib/dist/shader/fragment.d.ts.map +1 -1
- package/lib/dist/shader/fragment.js +2 -2
- package/lib/dist/shader/vertex.d.ts.map +1 -1
- package/lib/dist/shader/vertex.js +2 -3
- package/lib/dist/texture/texture-depth.d.ts +36 -0
- package/lib/dist/texture/texture-depth.d.ts.map +1 -0
- package/lib/dist/texture/texture-depth.js +63 -0
- package/lib/dist/texture/texture2d.d.ts +15 -2
- package/lib/dist/texture/texture2d.d.ts.map +1 -1
- package/lib/dist/texture/texture2d.js +87 -27
- package/lib/dist/types/animation.d.ts +11 -2
- package/lib/dist/types/animation.d.ts.map +1 -1
- package/lib/dist/types/gltf.d.ts +9 -3
- package/lib/dist/types/gltf.d.ts.map +1 -1
- package/lib/dist/types/gltf.js +7 -1
- package/lib/dist/types/index.d.ts +3 -0
- package/lib/dist/types/index.d.ts.map +1 -1
- package/lib/dist/types/index.js +4 -1
- package/lib/dist/types/input-pointer.d.ts +1 -0
- package/lib/dist/types/input-pointer.d.ts.map +1 -1
- package/lib/dist/types/program.d.ts +5 -0
- package/lib/dist/types/program.d.ts.map +1 -1
- package/lib/dist/utils/action/camera.d.ts.map +1 -1
- package/lib/dist/utils/action/camera.js +7 -4
- package/lib/dist/utils/action/index.d.ts +1 -0
- package/lib/dist/utils/action/index.d.ts.map +1 -1
- package/lib/dist/utils/action/index.js +2 -1
- package/lib/dist/utils/action/transfo.d.ts +2 -2
- package/lib/dist/utils/action/transfo.d.ts.map +1 -1
- package/lib/dist/utils/action/transfo.js +17 -14
- package/lib/dist/utils/animation/chain-transfo-interpolations.d.ts +18 -0
- package/lib/dist/utils/animation/chain-transfo-interpolations.d.ts.map +1 -0
- package/lib/dist/utils/animation/chain-transfo-interpolations.js +15 -0
- package/lib/dist/utils/animation/chain.d.ts +11 -0
- package/lib/dist/utils/animation/chain.d.ts.map +1 -0
- package/lib/dist/utils/animation/chain.js +61 -0
- package/lib/dist/utils/animation/index.d.ts +3 -0
- package/lib/dist/utils/animation/index.d.ts.map +1 -0
- package/lib/dist/utils/animation/index.js +3 -0
- package/lib/dist/utils/canvas.d.ts +1 -0
- package/lib/dist/utils/canvas.d.ts.map +1 -1
- package/lib/dist/utils/canvas.js +7 -1
- 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 +13 -0
- package/lib/dist/utils/math.d.ts.map +1 -1
- package/lib/dist/utils/math.js +34 -1
- package/lib/dist/utils/math.test.d.ts +2 -0
- package/lib/dist/utils/math.test.d.ts.map +1 -0
- package/lib/dist/utils/math.test.js +22 -0
- package/lib/dist/utils/state/blend.d.ts +1 -1
- package/lib/dist/utils/state/blend.d.ts.map +1 -1
- package/lib/dist/utils/state/blend.js +21 -3
- package/lib/dist/utils/state/depth.d.ts +1 -1
- package/lib/dist/utils/state/depth.d.ts.map +1 -1
- package/lib/dist/utils/state/depth.js +23 -2
- package/lib/dist/vao/vao.d.ts +6 -0
- package/lib/dist/vao/vao.d.ts.map +1 -1
- package/lib/dist/vao/vao.js +30 -1
- package/package.json +1 -1
- package/lib/dist/camera/camera-node.d.ts +0 -16
- package/lib/dist/camera/camera-node.d.ts.map +0 -1
- package/lib/dist/camera/camera-node.js +0 -17
|
@@ -48,23 +48,23 @@ export class TgdPainterMeshGltf extends TgdPainterMesh {
|
|
|
48
48
|
}
|
|
49
49
|
const DEFAULT_COLOR = new TgdVec4(0.9, 0.5, 0.1, 1);
|
|
50
50
|
function figureColor(asset, meshIndex, primitiveIndex, context) {
|
|
51
|
-
var _a, _b
|
|
51
|
+
var _a, _b;
|
|
52
52
|
const primitive = asset.getMeshPrimitive(meshIndex, primitiveIndex);
|
|
53
53
|
const materialIndex = (_a = primitive.material) !== null && _a !== void 0 ? _a : -1;
|
|
54
54
|
if (materialIndex === -1)
|
|
55
55
|
return DEFAULT_COLOR;
|
|
56
56
|
const material = asset.getMaterial(materialIndex);
|
|
57
|
+
const textureEmissive = getTextureEmissive(context, asset, material);
|
|
57
58
|
const pbr = material.pbrMetallicRoughness;
|
|
58
|
-
if (!pbr)
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
const color = asset.createTexture2D(context, (_b = emissive.index) !== null && _b !== void 0 ? _b : 0);
|
|
63
|
-
return color;
|
|
64
|
-
}
|
|
59
|
+
if (!pbr)
|
|
60
|
+
return textureEmissive !== null && textureEmissive !== void 0 ? textureEmissive : DEFAULT_COLOR;
|
|
61
|
+
if (textureEmissive)
|
|
62
|
+
return textureEmissive;
|
|
65
63
|
if (pbr.baseColorTexture) {
|
|
66
|
-
const textureIndex = (
|
|
64
|
+
const textureIndex = (_b = pbr.baseColorTexture) === null || _b === void 0 ? void 0 : _b.index;
|
|
67
65
|
const color = asset.createTexture2D(context, textureIndex !== null && textureIndex !== void 0 ? textureIndex : 0);
|
|
66
|
+
if (context.paint)
|
|
67
|
+
color.eventChange.addListener(context.paint);
|
|
68
68
|
return color;
|
|
69
69
|
}
|
|
70
70
|
if (pbr.baseColorFactor) {
|
|
@@ -75,14 +75,26 @@ function figureColor(asset, meshIndex, primitiveIndex, context) {
|
|
|
75
75
|
function makeMaterial({ color }) {
|
|
76
76
|
const material = new TgdMaterialDiffuse({
|
|
77
77
|
color,
|
|
78
|
+
specularIntensity: 0.3,
|
|
79
|
+
specularExponent: 80,
|
|
78
80
|
light: new TgdLight({
|
|
79
81
|
color: new TgdVec4(1, 1, 1, 1),
|
|
80
82
|
direction: new TgdVec3(1, 0.2, 0),
|
|
81
83
|
}),
|
|
82
84
|
ambient: new TgdLight({
|
|
83
|
-
color: new TgdVec4(0.
|
|
85
|
+
color: new TgdVec4(0.2, 0.1, 0, 1),
|
|
84
86
|
}),
|
|
85
87
|
});
|
|
86
88
|
return material;
|
|
87
89
|
}
|
|
88
|
-
|
|
90
|
+
function getTextureEmissive(context, asset, material) {
|
|
91
|
+
var _a;
|
|
92
|
+
const emissive = material.emissiveTexture;
|
|
93
|
+
if (!emissive)
|
|
94
|
+
return null;
|
|
95
|
+
const color = asset.createTexture2D(context, (_a = emissive.index) !== null && _a !== void 0 ? _a : 0);
|
|
96
|
+
if (context.paint)
|
|
97
|
+
color.eventChange.addListener(context.paint);
|
|
98
|
+
return color;
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2x0Zi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWludGVyL21lc2gvZ2x0Zi9nbHRmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBd0IsTUFBTSxjQUFjLENBQUE7QUFFL0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDNUMsT0FBTyxFQUFlLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQy9ELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFFckMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQWdCeEM7R0FDRztBQUNILE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxjQUFjO0lBQ2xELFlBQ0ksT0FJQyxFQUNELE9BQWtDOztRQUVsQyxNQUFNLEVBQ0YsS0FBSyxFQUNMLFNBQVMsR0FBRyxDQUFDLEVBQ2IsY0FBYyxHQUFHLENBQUMsRUFDbEIsZUFBZSxHQUFHLFlBQVksR0FDakMsR0FBRyxPQUFPLENBQUE7UUFDWCxNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFDcEUsTUFBTSxRQUFRLEdBQUcsZUFBZSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQTtRQUMzQyxJQUFJLGNBQWMsR0FBRyxLQUFLLENBQUE7UUFDMUIsTUFBTSxVQUFVLEdBQXlCO1lBQ3JDLFFBQVEsRUFBRSxNQUFNO1lBQ2hCLE1BQU0sRUFBRSxNQUFNO1NBQ2pCLENBQUE7UUFDRCxJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNqRCxVQUFVLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQTtRQUNsQyxD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
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { TgdContext } from "../../../context";
|
|
2
1
|
import { TgdGeometry } from "../../../geometry";
|
|
3
2
|
import { TgdMaterial } from "../../../material";
|
|
4
3
|
import { TgdTransfo, TgdTransfoOptions, TgdVec3 } from "../../../math";
|
|
5
4
|
import { TgdInterfaceTransformable } from "../../../interface";
|
|
6
5
|
import { TgdPainter } from "../../painter";
|
|
6
|
+
import { TgdCamera } from "../../../camera";
|
|
7
7
|
export interface TgdPainterMeshOptions {
|
|
8
8
|
transfo?: Partial<TgdTransfoOptions> | TgdTransfo;
|
|
9
9
|
geometry?: TgdGeometry;
|
|
@@ -13,7 +13,11 @@ export interface TgdPainterMeshOptions {
|
|
|
13
13
|
/**
|
|
14
14
|
*/
|
|
15
15
|
export declare class TgdPainterMesh extends TgdPainter implements TgdInterfaceTransformable {
|
|
16
|
-
protected readonly context:
|
|
16
|
+
protected readonly context: {
|
|
17
|
+
gl: WebGL2RenderingContext;
|
|
18
|
+
camera: TgdCamera;
|
|
19
|
+
paint?: () => void;
|
|
20
|
+
};
|
|
17
21
|
readonly transfo: TgdTransfo;
|
|
18
22
|
readonly material: TgdMaterial;
|
|
19
23
|
private readonly prg;
|
|
@@ -24,7 +28,12 @@ export declare class TgdPainterMesh extends TgdPainter implements TgdInterfaceTr
|
|
|
24
28
|
private readonly drawMode;
|
|
25
29
|
private bboxMin;
|
|
26
30
|
private bboxMax;
|
|
27
|
-
constructor(context:
|
|
31
|
+
constructor(context: {
|
|
32
|
+
gl: WebGL2RenderingContext;
|
|
33
|
+
camera: TgdCamera;
|
|
34
|
+
paint?: () => void;
|
|
35
|
+
}, options?: TgdPainterMeshOptions);
|
|
36
|
+
debug(caption?: string): void;
|
|
28
37
|
computeBoundingBox(): {
|
|
29
38
|
min: Readonly<TgdVec3>;
|
|
30
39
|
max: Readonly<TgdVec3>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mesh.d.ts","sourceRoot":"","sources":["../../../../src/painter/mesh/mesh/mesh.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"mesh.d.ts","sourceRoot":"","sources":["../../../../src/painter/mesh/mesh/mesh.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAkB,MAAM,eAAe,CAAA;AAC3D,OAAO,EAAE,WAAW,EAAsB,MAAM,eAAe,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAKlE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,MAAM,WAAW,qBAAqB;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,UAAU,CAAA;IACjD,QAAQ,CAAC,EAAE,WAAW,CAAA;IACtB,QAAQ,CAAC,EAAE,WAAW,CAAA;IACtB,IAAI,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;GACG;AACH,qBAAa,cACT,SAAQ,UACR,YAAW,yBAAyB;IAehC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE;QACxB,EAAE,EAAE,sBAAsB,CAAA;QAC1B,MAAM,EAAE,SAAS,CAAA;QACjB,KAAK,CAAC,EAAE,MAAM,IAAI,CAAA;KACrB;IAjBL,SAAgB,OAAO,aAAmB;IAC1C,SAAgB,QAAQ,EAAE,WAAW,CAAA;IAErC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAY;IAChC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgB;IACpC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAQ;IACrC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAa;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAY;IACrC,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,OAAO,CAAuB;gBAGf,OAAO,EAAE;QACxB,EAAE,EAAE,sBAAsB,CAAA;QAC1B,MAAM,EAAE,SAAS,CAAA;QACjB,KAAK,CAAC,EAAE,MAAM,IAAI,CAAA;KACrB,EACD,OAAO,GAAE,qBAA0B;IA0EvC,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM;IAItB,kBAAkB,IAAI;QAClB,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;QACtB,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;KACzB;IA4BD,SAAgB,KAAK,GAAI,MAAM,MAAM,EAAE,OAAO,MAAM,UAgBnD;IAED,MAAM,IAAI,IAAI;CAGjB"}
|
|
@@ -84,13 +84,15 @@ export class TgdPainterMesh extends TgdPainter {
|
|
|
84
84
|
vert,
|
|
85
85
|
frag,
|
|
86
86
|
});
|
|
87
|
-
prg.debug();
|
|
88
87
|
this.prg = prg;
|
|
89
88
|
this.vao = new TgdVertexArray(context.gl, prg, [geometry.dataset], geometry.elements);
|
|
90
89
|
this.elementsType = geometry.elementsType;
|
|
91
90
|
this.count = geometry.count;
|
|
92
91
|
this.name = (_b = options.name) !== null && _b !== void 0 ? _b : `Mesh/${this.name}`;
|
|
93
92
|
}
|
|
93
|
+
debug(caption) {
|
|
94
|
+
this.prg.debug(caption !== null && caption !== void 0 ? caption : this.name);
|
|
95
|
+
}
|
|
94
96
|
computeBoundingBox() {
|
|
95
97
|
if (this.bboxMin && this.bboxMax) {
|
|
96
98
|
return {
|
|
@@ -121,4 +123,4 @@ export class TgdPainterMesh extends TgdPainter {
|
|
|
121
123
|
this.vao.delete();
|
|
122
124
|
}
|
|
123
125
|
}
|
|
124
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWludGVyL21lc2gvbWVzaC9tZXNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDM0QsT0FBTyxFQUFlLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQXFCLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUNsRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQ3pDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFDekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBRXBELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFVMUM7R0FDRztBQUNILE1BQU0sT0FBTyxjQUNULFNBQVEsVUFBVTtJQWVsQixZQUN1QixPQUlsQixFQUNELFVBQWlDLEVBQUU7O1FBRW5DLEtBQUssRUFBRSxDQUFBO1FBUFksWUFBTyxHQUFQLE9BQU8sQ0FJekI7UUFqQlcsWUFBTyxHQUFHLElBQUksVUFBVSxFQUFFLENBQUE7UUFRekIsYUFBUSxHQUFXLENBQUMsQ0FBQTtRQUM3QixZQUFPLEdBQW1CLElBQUksQ0FBQTtRQUM5QixZQUFPLEdBQW1CLElBQUksQ0FBQTtRQXFIdEIsVUFBSyxHQUFHLENBQUMsSUFBWSxFQUFFLEtBQWEsRUFBRSxFQUFFO1lBQ3BELE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsR0FDaEUsSUFBSSxDQUFBO1lBQ1IsTUFBTSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsR0FBRyxP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
|
|
@@ -2,11 +2,17 @@ import { TgdPainter } from "../painter";
|
|
|
2
2
|
import { TgdTransfo, TgdTransfoOptions } from "../../math/transfo";
|
|
3
3
|
import { TgdInterfaceTransformablePainter } from "../../interface";
|
|
4
4
|
export interface TgdPainterNodeOptions {
|
|
5
|
+
name?: string;
|
|
5
6
|
transfo: TgdTransfo | Partial<TgdTransfoOptions>;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
children: TgdPainterNodeChild[];
|
|
8
|
+
/**
|
|
9
|
+
* Do we call the `paint()` method of the targets?
|
|
10
|
+
* Default to `true`.
|
|
11
|
+
*/
|
|
12
|
+
paintTheTargets?: boolean;
|
|
13
|
+
logic(this: TgdPainterNode, time: number, delay: number): void;
|
|
9
14
|
}
|
|
15
|
+
export type TgdPainterNodeChild = TgdPainterNode | TgdInterfaceTransformablePainter;
|
|
10
16
|
/**
|
|
11
17
|
* A Node can hold others Nodes or any object providing the
|
|
12
18
|
* TgdPainterNodeChild interface.
|
|
@@ -41,15 +47,22 @@ export interface TgdPainterNodeOptions {
|
|
|
41
47
|
*/
|
|
42
48
|
export declare class TgdPainterNode extends TgdPainter {
|
|
43
49
|
readonly transfo: TgdTransfo;
|
|
44
|
-
target: TgdInterfaceTransformablePainter | null;
|
|
45
50
|
private readonly parentMatrix;
|
|
51
|
+
/**
|
|
52
|
+
* globalMatrix = parentMatrix * transfo
|
|
53
|
+
*/
|
|
46
54
|
private readonly globalMatrix;
|
|
47
|
-
private readonly
|
|
55
|
+
private readonly nodes;
|
|
56
|
+
private readonly targets;
|
|
48
57
|
private readonly logic?;
|
|
58
|
+
private readonly paintTheTargets;
|
|
49
59
|
constructor(options?: Partial<TgdPainterNodeOptions>);
|
|
50
60
|
delete(): void;
|
|
51
|
-
add(...children:
|
|
52
|
-
remove(...children:
|
|
61
|
+
add(...children: TgdPainterNodeChild[]): this;
|
|
62
|
+
remove(...children: TgdPainterNodeChild[]): this;
|
|
63
|
+
getNodes(): TgdPainterNode[];
|
|
64
|
+
getTargets(): TgdInterfaceTransformablePainter[];
|
|
53
65
|
paint(time: number, delay: number): void;
|
|
66
|
+
debug(caption?: string): void;
|
|
54
67
|
}
|
|
55
68
|
//# sourceMappingURL=node.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/painter/node/node.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAClE,OAAO,EAAE,gCAAgC,EAAE,MAAM,iBAAiB,CAAA;AAElE,MAAM,WAAW,qBAAqB;IAClC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAA;IAChD,
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/painter/node/node.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAClE,OAAO,EAAE,gCAAgC,EAAE,MAAM,iBAAiB,CAAA;AAElE,MAAM,WAAW,qBAAqB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAA;IAChD,QAAQ,EAAE,mBAAmB,EAAE,CAAA;IAC/B;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,KAAK,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACjE;AAED,MAAM,MAAM,mBAAmB,GACzB,cAAc,GACd,gCAAgC,CAAA;AAEtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,qBAAa,cAAe,SAAQ,UAAU;IAC1C,SAAgB,OAAO,EAAE,UAAU,CAAA;IAEnC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgB;IAC7C;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgB;IAC7C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuB;IAC7C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyC;IACjE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAuC;IAC9D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;gBAE7B,OAAO,GAAE,OAAO,CAAC,qBAAqB,CAAM;IAgBxD,MAAM,IAAI,IAAI;IAOd,GAAG,CAAC,GAAG,QAAQ,EAAE,mBAAmB,EAAE,GAAG,IAAI;IAW7C,MAAM,CAAC,GAAG,QAAQ,EAAE,mBAAmB,EAAE,GAAG,IAAI;IAahD,QAAQ,IAAI,cAAc,EAAE;IAI5B,UAAU,IAAI,gCAAgC,EAAE;IAIhD,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAqBxC,KAAK,CAAC,OAAO,SAAmB;CAInC"}
|
|
@@ -36,36 +36,60 @@ import { TgdTransfo } from "../../math/transfo.js";
|
|
|
36
36
|
export class TgdPainterNode extends TgdPainter {
|
|
37
37
|
constructor(options = {}) {
|
|
38
38
|
super();
|
|
39
|
-
this.target = null;
|
|
40
39
|
this.parentMatrix = new TgdMat4();
|
|
40
|
+
/**
|
|
41
|
+
* globalMatrix = parentMatrix * transfo
|
|
42
|
+
*/
|
|
41
43
|
this.globalMatrix = new TgdMat4();
|
|
42
|
-
this.
|
|
43
|
-
|
|
44
|
+
this.nodes = [];
|
|
45
|
+
this.targets = [];
|
|
46
|
+
const { children = [], transfo, logic, paintTheTargets = true, name = `TgdPainterNode/${this.name}`, } = options;
|
|
47
|
+
this.paintTheTargets = paintTheTargets;
|
|
44
48
|
for (const child of children)
|
|
45
49
|
this.add(child);
|
|
46
|
-
this.target = target;
|
|
47
50
|
this.transfo = new TgdTransfo(transfo);
|
|
48
|
-
this.logic = logic;
|
|
51
|
+
this.logic = logic === null || logic === void 0 ? void 0 : logic.bind(this);
|
|
52
|
+
this.name = name;
|
|
49
53
|
}
|
|
50
54
|
delete() {
|
|
51
|
-
var _a
|
|
52
|
-
for (const child of this.
|
|
55
|
+
var _a;
|
|
56
|
+
for (const child of this.nodes) {
|
|
53
57
|
child.delete();
|
|
54
58
|
}
|
|
55
|
-
|
|
59
|
+
for (const target of this.targets)
|
|
60
|
+
(_a = target.delete) === null || _a === void 0 ? void 0 : _a.call(target);
|
|
56
61
|
}
|
|
57
62
|
add(...children) {
|
|
58
63
|
for (const child of children) {
|
|
59
|
-
|
|
64
|
+
if (child instanceof TgdPainterNode) {
|
|
65
|
+
this.nodes.push(child);
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
this.targets.push(child);
|
|
69
|
+
}
|
|
60
70
|
}
|
|
61
71
|
return this;
|
|
62
72
|
}
|
|
63
73
|
remove(...children) {
|
|
64
74
|
for (const child of children) {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
75
|
+
if (child instanceof TgdPainterNode) {
|
|
76
|
+
const nodePosition = this.nodes.indexOf(child);
|
|
77
|
+
if (nodePosition !== -1)
|
|
78
|
+
this.nodes.splice(nodePosition, 1);
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
const index = this.targets.indexOf(child);
|
|
82
|
+
if (index !== -1)
|
|
83
|
+
this.targets.splice(index, 1);
|
|
84
|
+
}
|
|
68
85
|
}
|
|
86
|
+
return this;
|
|
87
|
+
}
|
|
88
|
+
getNodes() {
|
|
89
|
+
return [...this.nodes];
|
|
90
|
+
}
|
|
91
|
+
getTargets() {
|
|
92
|
+
return [...this.targets];
|
|
69
93
|
}
|
|
70
94
|
paint(time, delay) {
|
|
71
95
|
var _a, _b, _c;
|
|
@@ -77,15 +101,48 @@ export class TgdPainterNode extends TgdPainter {
|
|
|
77
101
|
node.globalMatrix
|
|
78
102
|
.from(node.parentMatrix)
|
|
79
103
|
.multiply(node.transfo.matrix);
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
104
|
+
(_b = node.logic) === null || _b === void 0 ? void 0 : _b.call(node, time, delay);
|
|
105
|
+
for (const target of node.targets) {
|
|
106
|
+
target.transfo.matrix.from(node.globalMatrix);
|
|
107
|
+
if (this.paintTheTargets)
|
|
108
|
+
(_c = target.paint) === null || _c === void 0 ? void 0 : _c.call(target, time, delay);
|
|
83
109
|
}
|
|
84
|
-
for (const child of node.
|
|
110
|
+
for (const child of node.nodes) {
|
|
85
111
|
child.parentMatrix.from(node.globalMatrix);
|
|
86
112
|
fringe.push(child);
|
|
87
113
|
}
|
|
88
114
|
}
|
|
89
115
|
}
|
|
116
|
+
debug(caption = "TgdPainterNode") {
|
|
117
|
+
console.log(caption);
|
|
118
|
+
actualDebug(this);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
function actualDebug(node, indent = "| ") {
|
|
122
|
+
var _a, _b;
|
|
123
|
+
console.log(`${indent}${node.name} [${format(node.transfo.orientation)}] (${format(node.transfo.position)})`);
|
|
124
|
+
const targets = node.getTargets();
|
|
125
|
+
if (targets.length > 0) {
|
|
126
|
+
if (targets.length === 1) {
|
|
127
|
+
console.log(`${indent} Target: ${(_a = targets[0].name) !== null && _a !== void 0 ? _a : "..."}`);
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
console.log(`${indent} Targets (${targets.length})`);
|
|
131
|
+
for (const target of targets) {
|
|
132
|
+
console.log(`${indent} ${(_b = target.name) !== null && _b !== void 0 ? _b : "..."}`);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
const nodes = node.getNodes();
|
|
137
|
+
if (nodes.length > 0) {
|
|
138
|
+
console.log(`${indent} Nodes (${nodes.length})`);
|
|
139
|
+
for (const child of nodes) {
|
|
140
|
+
actualDebug(child, `${indent} | `);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
function format(vec) {
|
|
145
|
+
const list = [...vec].map(v => v.toFixed(3));
|
|
146
|
+
return list.join(", ");
|
|
90
147
|
}
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWludGVyL25vZGUvbm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFvQixNQUFNLFdBQVcsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ3ZDLE9BQU8sRUFBRSxVQUFVLEVBQXFCLE1BQU0sb0JBQW9CLENBQUE7QUFtQmxFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBK0JHO0FBQ0gsTUFBTSxPQUFPLGNBQWUsU0FBUSxVQUFVO0lBYTFDLFlBQVksVUFBMEMsRUFBRTtRQUNwRCxLQUFLLEVBQUUsQ0FBQTtRQVhNLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQTtRQUM3Qzs7V0FFRztRQUNjLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQTtRQUM1QixVQUFLLEdBQXFCLEVBQUUsQ0FBQTtRQUM1QixZQUFPLEdBQXVDLEVBQUUsQ0FBQTtRQU03RCxNQUFNLEVBQ0YsUUFBUSxHQUFHLEVBQUUsRUFDYixPQUFPLEVBQ1AsS0FBSyxFQUNMLGVBQWUsR0FBRyxJQUFJLEVBQ3RCLElBQUksR0FBRyxrQkFBa0IsSUFBSSxDQUFDLElBQUksRUFBRSxHQUN2QyxHQUFHLE9BQU8sQ0FBQTtRQUNYLElBQUksQ0FBQyxlQUFlLEdBQUcsZUFBZSxDQUFBO1FBQ3RDLEtBQUssTUFBTSxLQUFLLElBQUksUUFBUTtZQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDN0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUN0QyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDOUIsSUFBSSxDQUFDLElBQUksR0FB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
|
|
@@ -54,6 +54,9 @@ export declare class TgdPainterSegments extends TgdPainter {
|
|
|
54
54
|
radiusSwitch: number;
|
|
55
55
|
light: number;
|
|
56
56
|
shiftZ: number;
|
|
57
|
+
contrast: number;
|
|
58
|
+
specularIntensity: number;
|
|
59
|
+
specularExponent: number;
|
|
57
60
|
private readonly vao;
|
|
58
61
|
private readonly prg;
|
|
59
62
|
private readonly vertexCount;
|
|
@@ -61,10 +64,9 @@ export declare class TgdPainterSegments extends TgdPainter {
|
|
|
61
64
|
constructor(context: {
|
|
62
65
|
gl: WebGL2RenderingContext;
|
|
63
66
|
camera: TgdCamera;
|
|
64
|
-
},
|
|
67
|
+
}, options: Partial<TgdPainterSegmentsOptions> & {
|
|
65
68
|
makeDataset: () => InstanceDataset;
|
|
66
|
-
|
|
67
|
-
}, { roundness, minRadius, }?: Partial<TgdPainterSegmentsOptions>);
|
|
69
|
+
});
|
|
68
70
|
delete(): void;
|
|
69
71
|
paint(_time: number, _delay: number): void;
|
|
70
72
|
}
|
|
@@ -81,13 +83,13 @@ export declare class TgdPainterSegmentsData {
|
|
|
81
83
|
/**
|
|
82
84
|
* @param Axyzr (x,y,z) and radius of point A.
|
|
83
85
|
* @param Bxyzr (x,y,z) and radius of point B.
|
|
84
|
-
* @param Auv
|
|
85
|
-
* @param Buv
|
|
86
|
-
* @param radiusMultiplierInfluenceA
|
|
86
|
+
* @param Auv Texture coordinates for point A.
|
|
87
|
+
* @param Buv Texture coordinates for point B.
|
|
88
|
+
* @param radiusMultiplierInfluenceA If you put 0, the radius won't change regardless to the currently applied radius multiplicator.
|
|
87
89
|
* @param radiusMultiplierInfluenceB
|
|
88
90
|
*/
|
|
89
91
|
add(Axyzr: ArrayNumber4, Bxyzr: ArrayNumber4, Auv?: ArrayNumber2, Buv?: ArrayNumber2, radiusMultiplierInfluenceA?: number, radiusMultiplierInfluenceB?: number): void;
|
|
90
|
-
makeDataset()
|
|
92
|
+
readonly makeDataset: () => InstanceDataset;
|
|
91
93
|
}
|
|
92
94
|
export {};
|
|
93
95
|
//# sourceMappingURL=segments.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"segments.d.ts","sourceRoot":"","sources":["../../../src/painter/segments/segments.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"segments.d.ts","sourceRoot":"","sources":["../../../src/painter/segments/segments.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAKvD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAG3C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAGvC,MAAM,MAAM,yBAAyB,GAAG;IACpC;;;;;;;;;;OAUG;IACH,SAAS,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;CACpB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,kBAAmB,SAAQ,UAAU;IAkB1C,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE;QACxB,EAAE,EAAE,sBAAsB,CAAA;QAC1B,MAAM,EAAE,SAAS,CAAA;KACpB;IApBE,YAAY,EAAE,YAAY,CAAA;IAC1B,SAAS,EAAE,MAAM,CAAI;IACrB,gBAAgB,SAAI;IACpB,cAAc,SAAI;IAClB,YAAY,SAAI;IAChB,KAAK,SAAI;IACT,MAAM,SAAI;IACV,QAAQ,SAAM;IACd,iBAAiB,SAAM;IACvB,gBAAgB,SAAK;IAE5B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgB;IACpC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAY;IAChC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;IACpC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAQ;gBAGf,OAAO,EAAE;QACxB,EAAE,EAAE,sBAAsB,CAAA;QAC1B,MAAM,EAAE,SAAS,CAAA;KACpB,EACD,OAAO,EAAE,OAAO,CAAC,yBAAyB,CAAC,GAAG;QAC1C,WAAW,EAAE,MAAM,eAAe,CAAA;KACrC;IAsCL,MAAM,IAAI,IAAI;IAId,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;CA4C7C;AAED,KAAK,eAAe,GAAG,UAAU,CAAA;AAEjC,qBAAa,sBAAsB;IAC/B,OAAO,CAAC,MAAM,CAAI;IAClB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAE7C,IAAI,KAAK,WAER;IAED;;;;;;;OAOG;IACH,GAAG,CACC,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,YAAY,EACnB,GAAG,GAAE,YAAqB,EAC1B,GAAG,GAAE,YAAqB,EAC1B,0BAA0B,SAAI,EAC9B,0BAA0B,SAAI;IAWlC,QAAQ,CAAC,WAAW,QAAO,eAAe,CAqBzC;CACJ"}
|
|
@@ -1,12 +1,22 @@
|
|
|
1
1
|
#version 300 es
|
|
2
2
|
|
|
3
|
-
precision
|
|
3
|
+
precision highp float;
|
|
4
|
+
|
|
5
|
+
uniform float uniContrast;
|
|
6
|
+
uniform float uniSpecularIntensity;
|
|
7
|
+
uniform float uniSpecularExponent;
|
|
4
8
|
|
|
5
9
|
in vec4 varColor;
|
|
10
|
+
in vec3 varNormal;
|
|
11
|
+
|
|
6
12
|
out vec4 FragColor;
|
|
7
13
|
|
|
8
14
|
|
|
9
15
|
void main() {
|
|
10
16
|
if (varColor.a < 1.0) discard;
|
|
11
|
-
|
|
17
|
+
|
|
18
|
+
float z = normalize(varNormal).z;
|
|
19
|
+
float light = z * uniContrast + (1.0 - uniContrast);
|
|
20
|
+
float spec = pow(z, uniSpecularExponent) * uniSpecularIntensity;
|
|
21
|
+
FragColor =vec4(varColor.rgb * light + vec3(spec), varColor.w); // varColor;
|
|
12
22
|
}
|