@tolokoban/tgd 2.0.68 → 2.0.70
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/material/glass.d.ts +27 -0
- package/lib/dist/material/glass.d.ts.map +1 -0
- package/lib/dist/material/glass.js +116 -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/painter/points-cloud/points-cloud.d.ts +18 -0
- package/lib/dist/painter/points-cloud/points-cloud.d.ts.map +1 -1
- package/lib/dist/painter/points-cloud/points-cloud.js +33 -9
- package/lib/dist/parser/gltf/gltf.d.ts.map +1 -1
- package/lib/dist/parser/gltf/gltf.js +2 -1
- package/package.json +1 -1
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ArrayNumber3, ArrayNumber4 } from "../types";
|
|
2
|
+
import { TgdVec3, TgdVec4 } from "../math";
|
|
3
|
+
import { TgdMaterial } from "./material";
|
|
4
|
+
import { TgdLight } from "../light";
|
|
5
|
+
import { TgdTexture2D, TgdTextureCube } from "../texture";
|
|
6
|
+
export type TgdMaterialGlassOptions = Partial<{
|
|
7
|
+
color: TgdVec4 | ArrayNumber4 | TgdTexture2D;
|
|
8
|
+
lights: TgdLight[];
|
|
9
|
+
ambientColor: TgdVec3 | ArrayNumber3 | TgdTextureCube;
|
|
10
|
+
ambientIntensity: number;
|
|
11
|
+
specularExponent: number;
|
|
12
|
+
specularIntensity: number;
|
|
13
|
+
normalMap: TgdTexture2D;
|
|
14
|
+
}>;
|
|
15
|
+
export declare class TgdMaterialGlass extends TgdMaterial {
|
|
16
|
+
private readonly options;
|
|
17
|
+
specularExponent: number;
|
|
18
|
+
specularIntensity: number;
|
|
19
|
+
opacityMin: number;
|
|
20
|
+
opacityMax: number;
|
|
21
|
+
private textureColor;
|
|
22
|
+
private mustDeleteTextureColor;
|
|
23
|
+
private textureAmbient;
|
|
24
|
+
private mustDeleteTextureAmbient;
|
|
25
|
+
constructor(options?: TgdMaterialGlassOptions);
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=glass.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glass.d.ts","sourceRoot":"","sources":["../../src/material/glass.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,YAAY,EACZ,YAAY,EAGf,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAS3D,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC;IAC1C,KAAK,EAAE,OAAO,GAAG,YAAY,GAAG,YAAY,CAAA;IAC5C,MAAM,EAAE,QAAQ,EAAE,CAAA;IAClB,YAAY,EAAE,OAAO,GAAG,YAAY,GAAG,cAAc,CAAA;IACrD,gBAAgB,EAAE,MAAM,CAAA;IACxB,gBAAgB,EAAE,MAAM,CAAA;IACxB,iBAAiB,EAAE,MAAM,CAAA;IACzB,SAAS,EAAE,YAAY,CAAA;CAC1B,CAAC,CAAA;AAKF,qBAAa,gBAAiB,SAAQ,WAAW;IAWjC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAV7B,gBAAgB,SAAM;IACtB,iBAAiB,SAAI;IACrB,UAAU,SAAI;IACd,UAAU,SAAO;IAExB,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,sBAAsB,CAAQ;IACtC,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,wBAAwB,CAAQ;gBAEX,OAAO,GAAE,uBAA4B;CAqHrE"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { TgdVec3, TgdVec4 } from "./../math/index.js";
|
|
2
|
+
import { TgdMaterial } from "./material.js";
|
|
3
|
+
import { TgdTexture2D, TgdTextureCube } from "./../texture/index.js";
|
|
4
|
+
import { tgdCanvasCreateFill, webglPresetBlend, webglPresetDepth, } from "./../utils/index.js";
|
|
5
|
+
const DEFAULT_COLOR = new TgdVec4(0.8, 0.6, 0.1, 1);
|
|
6
|
+
const DEFAULT_AMBIENT = new TgdVec3(0.8, 0.8, 0.8);
|
|
7
|
+
export class TgdMaterialGlass extends TgdMaterial {
|
|
8
|
+
constructor(options = {}) {
|
|
9
|
+
const uniforms = {
|
|
10
|
+
uniTransfoMatrix: "mat4",
|
|
11
|
+
uniSpecularExponent: "float",
|
|
12
|
+
uniSpecularIntensity: "float",
|
|
13
|
+
uniOpacityBase: "float",
|
|
14
|
+
uniOpacityFactor: "float",
|
|
15
|
+
texColor: "sampler2D",
|
|
16
|
+
texAmbient: "samplerCube",
|
|
17
|
+
uniCameraPosition: "vec3",
|
|
18
|
+
};
|
|
19
|
+
const fragmentShaderCode = [
|
|
20
|
+
`vec3 N = normalize(varNormal);`,
|
|
21
|
+
`vec3 L = normalize(varPosition.xyz - uniCameraPosition);`,
|
|
22
|
+
`vec3 R = reflect(L, N);`,
|
|
23
|
+
`vec3 color = texture(texAmbient, R).rgb;`,
|
|
24
|
+
`color = pow(color, vec3(uniSpecularExponent));`,
|
|
25
|
+
`color *= uniSpecularIntensity;`,
|
|
26
|
+
`return vec4(color, uniOpacityBase + uniOpacityFactor * dot(color, color)) * texture(texColor, varUV);`,
|
|
27
|
+
];
|
|
28
|
+
const varyings = {
|
|
29
|
+
varUV: "vec2",
|
|
30
|
+
varNormal: "vec3",
|
|
31
|
+
varPosition: "vec4",
|
|
32
|
+
};
|
|
33
|
+
const vertexShaderCode = () => {
|
|
34
|
+
const code = [
|
|
35
|
+
`varUV = ${this.attUV};`,
|
|
36
|
+
`varNormal = mat3(uniTransfoMatrix) * ${this.attNormal};`,
|
|
37
|
+
`varPosition = uniTransfoMatrix * ${this.attPosition};`,
|
|
38
|
+
];
|
|
39
|
+
return code;
|
|
40
|
+
};
|
|
41
|
+
super({
|
|
42
|
+
state: {
|
|
43
|
+
blend: webglPresetBlend.alpha,
|
|
44
|
+
depth: webglPresetDepth.writeOnly,
|
|
45
|
+
},
|
|
46
|
+
delete: () => {
|
|
47
|
+
var _a, _b;
|
|
48
|
+
if (this.mustDeleteTextureAmbient)
|
|
49
|
+
(_a = this.textureAmbient) === null || _a === void 0 ? void 0 : _a.delete();
|
|
50
|
+
if (this.mustDeleteTextureColor)
|
|
51
|
+
(_b = this.textureColor) === null || _b === void 0 ? void 0 : _b.delete();
|
|
52
|
+
},
|
|
53
|
+
uniforms,
|
|
54
|
+
varyings,
|
|
55
|
+
vertexShaderCode,
|
|
56
|
+
fragmentShaderCode,
|
|
57
|
+
setUniforms: ({ program, camera, }) => {
|
|
58
|
+
var _a, _b;
|
|
59
|
+
if (!this.textureColor) {
|
|
60
|
+
// Lazy creation of a texture from an unique color.
|
|
61
|
+
this.textureColor = new TgdTexture2D(program);
|
|
62
|
+
const color = (_a = this.options.color) !== null && _a !== void 0 ? _a : DEFAULT_COLOR;
|
|
63
|
+
if (!(color instanceof TgdTexture2D)) {
|
|
64
|
+
this.textureColor.loadBitmap(tgdCanvasCreateFill(1, 1, color));
|
|
65
|
+
}
|
|
66
|
+
this.mustDeleteTextureColor = true;
|
|
67
|
+
}
|
|
68
|
+
if (!this.textureAmbient) {
|
|
69
|
+
// Lazy creation of a texture from an unique color.
|
|
70
|
+
const color = (_b = this.options.ambientColor) !== null && _b !== void 0 ? _b : DEFAULT_AMBIENT;
|
|
71
|
+
const canvas = tgdCanvasCreateFill(1, 1, color instanceof TgdTextureCube
|
|
72
|
+
? DEFAULT_AMBIENT
|
|
73
|
+
: color);
|
|
74
|
+
this.textureAmbient = new TgdTextureCube(program, {
|
|
75
|
+
imagePosX: canvas,
|
|
76
|
+
imagePosY: canvas,
|
|
77
|
+
imagePosZ: canvas,
|
|
78
|
+
imageNegX: canvas,
|
|
79
|
+
imageNegY: canvas,
|
|
80
|
+
imageNegZ: canvas,
|
|
81
|
+
});
|
|
82
|
+
this.mustDeleteTextureAmbient = true;
|
|
83
|
+
}
|
|
84
|
+
this.textureColor.activate(0, program, "texColor");
|
|
85
|
+
this.textureAmbient.activate(1, program, "texAmbient");
|
|
86
|
+
program.uniform3fv("uniCameraPosition", camera.transfo.actualPosition);
|
|
87
|
+
program.uniform1f("uniSpecularExponent", this.specularExponent);
|
|
88
|
+
program.uniform1f("uniSpecularIntensity", this.specularIntensity);
|
|
89
|
+
program.uniform1f("uniOpacityBase", this.opacityMin);
|
|
90
|
+
program.uniform1f("uniOpacityFactor", this.opacityMax - this.opacityMin);
|
|
91
|
+
},
|
|
92
|
+
});
|
|
93
|
+
this.options = options;
|
|
94
|
+
this.specularExponent = 2.2;
|
|
95
|
+
this.specularIntensity = 2;
|
|
96
|
+
this.opacityMin = 0;
|
|
97
|
+
this.opacityMax = 0.05;
|
|
98
|
+
this.textureColor = null;
|
|
99
|
+
this.mustDeleteTextureColor = false;
|
|
100
|
+
this.textureAmbient = null;
|
|
101
|
+
this.mustDeleteTextureAmbient = false;
|
|
102
|
+
if (typeof options.specularExponent === "number") {
|
|
103
|
+
this.specularExponent = options.specularExponent;
|
|
104
|
+
}
|
|
105
|
+
if (typeof options.specularIntensity === "number") {
|
|
106
|
+
this.specularIntensity = options.specularIntensity;
|
|
107
|
+
}
|
|
108
|
+
if (options.color instanceof TgdTexture2D) {
|
|
109
|
+
this.textureColor = options.color;
|
|
110
|
+
}
|
|
111
|
+
if (options.ambientColor instanceof TgdTextureCube) {
|
|
112
|
+
this.textureAmbient = options.ambientColor;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbWF0ZXJpYWwvZ2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDNUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUd4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUUzRCxPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLGdCQUFnQixFQUNoQixnQkFBZ0IsR0FDbkIsTUFBTSxZQUFZLENBQUE7QUFhbkIsTUFBTSxhQUFhLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUE7QUFDbkQsTUFBTSxlQUFlLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQTtBQUVsRCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsV0FBVztJQVc3QyxZQUE2QixVQUFtQyxFQUFFO1FBQzlELE1BQU0sUUFBUSxHQUF5QztZQUNuRCxnQkFBZ0IsRUFBRSxNQUFNO1lBQ3hCLG1CQUFtQixFQUFFLE9BQU87WUFDNUIsb0JBQW9CLEVBQUUsT0FBTztZQUM3QixjQUFjLEVBQUUsT0FBTztZQUN2QixnQkFBZ0IsRUFBRSxPQUFPO1lBQ3pCLFFBQVEsRUFBRSxXQUFXO1lBQ3JCLFVBQVUsRUFBRSxhQUFhO1lBQ3pCLGlCQUFpQixFQUFFLE1BQU07U0FDNUIsQ0FBQTtRQUNELE1BQU0sa0JBQWtCLEdBQWdCO1lBQ3BDLGdDQUFnQztZQUNoQywwREFBMEQ7WUFDMUQseUJBQXlCO1lBQ3pCLDBDQUEwQztZQUMxQyxnREFBZ0Q7WUFDaEQsZ0NBQWdDO1lBQ2hDLHVHQUF1RztTQUMxRyxDQUFBO1FBQ0QsTUFBTSxRQUFRLEdBQTJDO1lBQ3JELEtBQUss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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/material/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,oBAAoB,CAAA;AAClC,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,QAAQ,CAAA;AACtB,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,QAAQ,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/material/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,oBAAoB,CAAA;AAClC,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,QAAQ,CAAA;AACtB,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,QAAQ,CAAA"}
|
|
@@ -3,10 +3,11 @@ export * from "./diffuse.js";
|
|
|
3
3
|
export * from "./face-orientation.js";
|
|
4
4
|
export * from "./flat.js";
|
|
5
5
|
export * from "./ghost.js";
|
|
6
|
+
export * from "./glass.js";
|
|
6
7
|
export * from "./global.js";
|
|
7
8
|
export * from "./hull.js";
|
|
8
9
|
export * from "./material.js";
|
|
9
10
|
export * from "./normals.js";
|
|
10
11
|
export * from "./normal-map.js";
|
|
11
12
|
export * from "./toon.js";
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbWF0ZXJpYWwvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxTQUFTLENBQUE7QUFDdkIsY0FBYyxXQUFXLENBQUE7QUFDekIsY0FBYyxvQkFBb0IsQ0FBQTtBQUNsQyxjQUFjLFFBQVEsQ0FBQTtBQUN0QixjQUFjLFNBQVMsQ0FBQTtBQUN2QixjQUFjLFNBQVMsQ0FBQTtBQUN2QixjQUFjLFVBQVUsQ0FBQTtBQUN4QixjQUFjLFFBQVEsQ0FBQTtBQUN0QixjQUFjLFlBQVksQ0FBQTtBQUMxQixjQUFjLFdBQVcsQ0FBQTtBQUN6QixjQUFjLGNBQWMsQ0FBQTtBQUM1QixjQUFjLFFBQVEsQ0FBQSJ9
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { TgdTexture2D } from "../../texture";
|
|
2
2
|
import { TgdPainter } from "../painter";
|
|
3
3
|
import { TgdContext } from "../../context";
|
|
4
|
+
import { TgdCodeBloc } from "../../shader";
|
|
4
5
|
export interface TgdPainterPointsCloudOptions {
|
|
5
6
|
name?: string;
|
|
6
7
|
/**
|
|
@@ -29,9 +30,26 @@ export interface TgdPainterPointsCloudOptions {
|
|
|
29
30
|
minSizeInPixels?: number;
|
|
30
31
|
mustDeleteTexture?: boolean;
|
|
31
32
|
texture?: TgdTexture2D;
|
|
33
|
+
/**
|
|
34
|
+
* The content of a fragment shader function tht takes
|
|
35
|
+
* `vec4 color` as argument and must return a `vec4` color.
|
|
36
|
+
*
|
|
37
|
+
* You can also use `TgdPainterPointsCloud.fragCode*()` static functions
|
|
38
|
+
* to provide preset functions.
|
|
39
|
+
*/
|
|
40
|
+
fragCode?: TgdCodeBloc;
|
|
32
41
|
}
|
|
33
42
|
export declare class TgdPainterPointsCloud extends TgdPainter {
|
|
34
43
|
readonly context: TgdContext;
|
|
44
|
+
/**
|
|
45
|
+
* Draw spheres with simple diffuse/specular material.
|
|
46
|
+
*/
|
|
47
|
+
static fragCodeSphere(options?: Partial<{
|
|
48
|
+
specularExponent: number;
|
|
49
|
+
specularIntensity: number;
|
|
50
|
+
shadowThickness: number;
|
|
51
|
+
shadowIntensity: number;
|
|
52
|
+
}>): TgdCodeBloc;
|
|
35
53
|
readonly count: number;
|
|
36
54
|
texture: TgdTexture2D;
|
|
37
55
|
radiusMultiplier: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"points-cloud.d.ts","sourceRoot":"","sources":["../../../src/painter/points-cloud/points-cloud.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAIvC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"points-cloud.d.ts","sourceRoot":"","sources":["../../../src/painter/points-cloud/points-cloud.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAIvC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAGzC,OAAO,EAAE,WAAW,EAAsC,MAAM,aAAa,CAAA;AAE7E,MAAM,WAAW,4BAA4B;IACzC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;OAGG;IACH,SAAS,EAAE,YAAY,CAAA;IACvB;;;OAGG;IACH,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,WAAW,CAAA;CACzB;AAED,qBAAa,qBAAsB,SAAQ,UAAU;aAyC7B,OAAO,EAAE,UAAU;IAxCvC;;OAEG;IACH,MAAM,CAAC,cAAc,CACjB,OAAO,GAAE,OAAO,CAAC;QACb,gBAAgB,EAAE,MAAM,CAAA;QACxB,iBAAiB,EAAE,MAAM,CAAA;QACzB,eAAe,EAAE,MAAM,CAAA;QACvB,eAAe,EAAE,MAAM,CAAA;KAC1B,CAAM,GACR,WAAW;IAiBd,SAAgB,KAAK,EAAE,MAAM,CAAA;IACtB,OAAO,EAAE,YAAY,CAAA;IACrB,gBAAgB,SAAI;IACpB,eAAe,SAAI;IAE1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAc;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;IAC9C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAY;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAY;IACpC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgB;gBAGhB,OAAO,EAAE,UAAU,EACnC,OAAO,EAAE,4BAA4B;IA2CzC,MAAM,IAAI,IAAI;IAMd,KAAK,IAAI,IAAI;IAuBb,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,aAAa;CA0DxB"}
|
|
@@ -7,6 +7,20 @@ import { tgdCanvasCreateGradientHorizontal } from "./../../utils/index.js";
|
|
|
7
7
|
import { tgdColorMakeHueWheel } from "./../../color/index.js";
|
|
8
8
|
import { TgdShaderFragment, TgdShaderVertex } from "./../../shader/index.js";
|
|
9
9
|
export class TgdPainterPointsCloud extends TgdPainter {
|
|
10
|
+
/**
|
|
11
|
+
* Draw spheres with simple diffuse/specular material.
|
|
12
|
+
*/
|
|
13
|
+
static fragCodeSphere(options = {}) {
|
|
14
|
+
const { specularExponent = 10, specularIntensity = 0.33, shadowThickness = 0.5, shadowIntensity = 0.1, } = options;
|
|
15
|
+
return [
|
|
16
|
+
"vec2 coords = 2.0 * (gl_PointCoord - vec2(.5));",
|
|
17
|
+
"float len = 1.0 - dot(coords, coords);",
|
|
18
|
+
"if (len < 0.0) discard;",
|
|
19
|
+
`float light = smoothstep(0.0, ${shadowThickness.toFixed(6)}, len) * ${shadowIntensity} + ${(1 - shadowIntensity).toFixed(6)};`,
|
|
20
|
+
`float spec = pow(len, ${specularExponent.toFixed(6)}) * ${specularIntensity.toFixed(6)};`,
|
|
21
|
+
"return color * vec4(vec3(light), 1.0) + vec4(vec3(spec), 0.0);",
|
|
22
|
+
];
|
|
23
|
+
}
|
|
10
24
|
constructor(context, options) {
|
|
11
25
|
var _a, _b, _c, _d, _e;
|
|
12
26
|
super();
|
|
@@ -40,7 +54,7 @@ export class TgdPainterPointsCloud extends TgdPainter {
|
|
|
40
54
|
}
|
|
41
55
|
this.count = this.dataUV.length >> 1;
|
|
42
56
|
this.dataset = this.createDataset();
|
|
43
|
-
this.program = this.createProgram();
|
|
57
|
+
this.program = this.createProgram(options.fragCode);
|
|
44
58
|
this.vao = new TgdVertexArray(context.gl, this.program, [this.dataset]);
|
|
45
59
|
}
|
|
46
60
|
delete() {
|
|
@@ -72,7 +86,7 @@ export class TgdPainterPointsCloud extends TgdPainter {
|
|
|
72
86
|
dataset.set("attUV", this.dataUV);
|
|
73
87
|
return dataset;
|
|
74
88
|
}
|
|
75
|
-
createProgram() {
|
|
89
|
+
createProgram(render) {
|
|
76
90
|
const vert = new TgdShaderVertex({
|
|
77
91
|
uniforms: {
|
|
78
92
|
uniMinSizeInPixels: "float",
|
|
@@ -107,18 +121,28 @@ export class TgdPainterPointsCloud extends TgdPainter {
|
|
|
107
121
|
varUV: "vec2",
|
|
108
122
|
},
|
|
109
123
|
outputs: { FragColor: "vec4" },
|
|
124
|
+
functions: {
|
|
125
|
+
render: [
|
|
126
|
+
"vec4 render(vec4 color) {",
|
|
127
|
+
render !== null && render !== void 0 ? render : TgdPainterPointsCloud.fragCodeSphere(),
|
|
128
|
+
// [
|
|
129
|
+
// "vec2 coords = 2.0 * (gl_PointCoord - vec2(.5));",
|
|
130
|
+
// "float len = 1.0 - dot(coords, coords);",
|
|
131
|
+
// "if (len < 0.0) discard;",
|
|
132
|
+
// "float light = smoothstep(0.0, 0.75, len) * .1 + .9;",
|
|
133
|
+
// "float spec = pow(len, 6.0) * .5;",
|
|
134
|
+
// "return color * vec4(vec3(light), 1.0) + vec4(vec3(spec), 0.0);",
|
|
135
|
+
// ],
|
|
136
|
+
"}",
|
|
137
|
+
],
|
|
138
|
+
},
|
|
110
139
|
mainCode: [
|
|
111
|
-
"vec2 coords = 2.0 * (gl_PointCoord - vec2(.5));",
|
|
112
|
-
"float len = 1.0 - dot(coords, coords);",
|
|
113
|
-
"if (len < 0.0) discard;",
|
|
114
140
|
"vec4 color = texture(uniTexture, varUV);",
|
|
115
|
-
"
|
|
116
|
-
"float spec = pow(len, 2.0) * .5;",
|
|
117
|
-
"FragColor = color * vec4(vec3(light), 1.0) + vec4(vec3(spec), 0.0);",
|
|
141
|
+
"FragColor = render(color);",
|
|
118
142
|
],
|
|
119
143
|
}).code;
|
|
120
144
|
const program = new TgdProgram(this.context.gl, { vert, frag });
|
|
121
145
|
return program;
|
|
122
146
|
}
|
|
123
147
|
}
|
|
124
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9pbnRzLWNsb3VkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhaW50ZXIvcG9pbnRzLWNsb3VkL3BvaW50cy1jbG91ZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDdkMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQ3pDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFFekMsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQzlELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUNqRCxPQUFPLEVBQWUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBd0M3RSxNQUFNLE9BQU8scUJBQXNCLFNBQVEsVUFBVTtJQUNqRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxjQUFjLENBQ2pCLFVBS0ssRUFBRTtRQUVQLE1BQU0sRUFDRixnQkFBZ0IsR0FBRyxFQUFFLEVBQ3JCLGlCQUFpQixHQUFHLElBQUksRUFDeEIsZUFBZSxHQUFHLEdBQUcsRUFDckIsZUFBZSxHQUFHLEdBQUcsR0FDeEIsR0FBRyxPQUFPLENBQUE7UUFDWCxPQUFPO1lBQ0gsaURBQWlEO1lBQ2pELHdDQUF3QztZQUN4Qyx5QkFBeUI7WUFDekIsaUNBQWlDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFlBQVksZUFBZSxNQUFNLENBQUMsQ0FBQyxHQUFHLGVBQWUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRztZQUMvSCx5QkFBeUIsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLGlCQUFp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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gltf.d.ts","sourceRoot":"","sources":["../../../src/parser/gltf/gltf.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"gltf.d.ts","sourceRoot":"","sources":["../../../src/parser/gltf/gltf.ts"],"names":[],"mappings":"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"}
|
|
@@ -315,6 +315,7 @@ export class TgdDataGlb {
|
|
|
315
315
|
const buffer = this.chunks[bufferView.buffer];
|
|
316
316
|
const byteOffset = (_c = bufferView.byteOffset) !== null && _c !== void 0 ? _c : 0;
|
|
317
317
|
const data = buffer.slice(byteOffset, byteOffset + bufferView.byteLength);
|
|
318
|
+
console.log("🐞 [gltf@499] data =", data); // @FIXME: Remove this line written on 2025-12-02 at 10:47
|
|
318
319
|
const view = figureOutView(data, convertTypeToNumber((_e = type !== null && type !== void 0 ? type : (_d = this.findAccessorForBufferView(bufferViewIndex)) === null || _d === void 0 ? void 0 : _d.componentType) !== null && _e !== void 0 ? _e : "Float32"));
|
|
319
320
|
this.cacheBufferViewDatas.set(bufferViewIndex, view);
|
|
320
321
|
return view;
|
|
@@ -435,4 +436,4 @@ function returnFloat32Array(data) {
|
|
|
435
436
|
return data;
|
|
436
437
|
throw new Error("We were expecting a Float32Array!");
|
|
437
438
|
}
|
|
438
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2x0Zi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYXJzZXIvZ2x0Zi9nbHRmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7O0dBR0c7QUFDSCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDdkMsT0FBTyxFQUFhLFVBQVUsRUFBd0IsTUFBTSxrQkFBa0IsQ0FBQTtBQUM5RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFL0MsT0FBTyxFQUFFLFVBQVUsRUFBNkIsTUFBTSxjQUFjLENBQUE7QUFlcEUsT0FBTyxFQUNILG1CQUFtQixFQUNuQiw2QkFBNkIsR0FFaEMsTUFBTSxZQUFZLENBQUE7QUFDbkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQzNDLE9BQU8sRUFBa0Isb0JBQW9CLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDbEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQTBCLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUNoRixPQUFPLEVBQUUsWUFBWSxFQUFFLDJCQUEyQixFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQ3ZFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUU1QyxNQUFNLFdBQVcsR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFBO0FBRS9CLE1BQU0sT0FBTyxVQUFVO0lBQ1osTUFBTSxDQUFPLEtBQUssQ0FBQyxPQUFvQjs7O1lBQzFDLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTtZQUNoQyxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFBO1lBQ3JDLE1BQU0sZUFBZSxHQUFvQixNQUFNLElBQUksQ0FBQyxHQUFHLEVBQUUs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
|
|
439
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2x0Zi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYXJzZXIvZ2x0Zi9nbHRmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7O0dBR0c7QUFDSCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDdkMsT0FBTyxFQUFhLFVBQVUsRUFBd0IsTUFBTSxrQkFBa0IsQ0FBQTtBQUM5RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFL0MsT0FBTyxFQUFFLFVBQVUsRUFBNkIsTUFBTSxjQUFjLENBQUE7QUFlcEUsT0FBTyxFQUNILG1CQUFtQixFQUNuQiw2QkFBNkIsR0FFaEMsTUFBTSxZQUFZLENBQUE7QUFDbkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQzNDLE9BQU8sRUFBa0Isb0JBQW9CLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDbEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQTBCLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUNoRixPQUFPLEVBQUUsWUFBWSxFQUFFLDJCQUEyQixFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQ3ZFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUU1QyxNQUFNLFdBQVcsR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFBO0FBRS9CLE1BQU0sT0FBTyxVQUFVO0lBQ1osTUFBTSxDQUFPLEtBQUssQ0FBQyxPQUFvQjs7O1lBQzFDLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTtZQUNoQyxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFBO1lBQ3JDLE1BQU0sZUFBZSxHQUFvQixNQUFNLElBQUksQ0FBQyxHQUFHLEVBQUUs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
|