@babylonjs/procedural-textures 9.15.0 → 9.16.1
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/brick/brickProceduralTexture.js +88 -77
- package/brick/brickProceduralTexture.js.map +1 -1
- package/cloud/cloudProceduralTexture.js +88 -77
- package/cloud/cloudProceduralTexture.js.map +1 -1
- package/fire/fireProceduralTexture.js +129 -118
- package/fire/fireProceduralTexture.js.map +1 -1
- package/grass/grassProceduralTexture.js +73 -61
- package/grass/grassProceduralTexture.js.map +1 -1
- package/marble/marbleProceduralTexture.js +88 -77
- package/marble/marbleProceduralTexture.js.map +1 -1
- package/normalMap/normalMapProceduralTexture.js +67 -55
- package/normalMap/normalMapProceduralTexture.js.map +1 -1
- package/package.json +2 -2
- package/perlinNoise/perlinNoiseProceduralTexture.js +75 -59
- package/perlinNoise/perlinNoiseProceduralTexture.js.map +1 -1
- package/road/roadProceduralTexture.js +52 -41
- package/road/roadProceduralTexture.js.map +1 -1
- package/starfield/starfieldProceduralTexture.js +172 -161
- package/starfield/starfieldProceduralTexture.js.map +1 -1
- package/wood/woodProceduralTexture.js +64 -53
- package/wood/woodProceduralTexture.js.map +1 -1
|
@@ -1,49 +1,60 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { __esDecorate, __runInitializers } from "@babylonjs/core/tslib.es6.js";
|
|
2
2
|
import { serializeAsColor3 } from "@babylonjs/core/Misc/decorators.js";
|
|
3
3
|
import { SerializationHelper } from "@babylonjs/core/Misc/decorators.serialization.js";
|
|
4
4
|
import { Color3 } from "@babylonjs/core/Maths/math.color.js";
|
|
5
5
|
import { ProceduralTexture } from "@babylonjs/core/Materials/Textures/Procedurals/proceduralTexture.js";
|
|
6
6
|
import { RegisterClass } from "@babylonjs/core/Misc/typeStore.js";
|
|
7
7
|
import "./roadProceduralTexture.fragment.js";
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
8
|
+
let RoadProceduralTexture = (() => {
|
|
9
|
+
var _a;
|
|
10
|
+
let _classSuper = ProceduralTexture;
|
|
11
|
+
let _instanceExtraInitializers = [];
|
|
12
|
+
let _get_roadColor_decorators;
|
|
13
|
+
return _a = class RoadProceduralTexture extends _classSuper {
|
|
14
|
+
constructor(name, size, scene = null, fallbackTexture, generateMipMaps) {
|
|
15
|
+
super(name, size, "roadProceduralTexture", scene, fallbackTexture, generateMipMaps);
|
|
16
|
+
this._roadColor = (__runInitializers(this, _instanceExtraInitializers), new Color3(0.53, 0.53, 0.53));
|
|
17
|
+
this.updateShaderUniforms();
|
|
18
|
+
}
|
|
19
|
+
updateShaderUniforms() {
|
|
20
|
+
this.setColor3("roadColor", this._roadColor);
|
|
21
|
+
}
|
|
22
|
+
get roadColor() {
|
|
23
|
+
return this._roadColor;
|
|
24
|
+
}
|
|
25
|
+
set roadColor(value) {
|
|
26
|
+
this._roadColor = value;
|
|
27
|
+
this.updateShaderUniforms();
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Serializes this road procedural texture
|
|
31
|
+
* @returns a serialized road procedural texture object
|
|
32
|
+
*/
|
|
33
|
+
serialize() {
|
|
34
|
+
const serializationObject = SerializationHelper.Serialize(this, super.serialize());
|
|
35
|
+
serializationObject.customType = "BABYLON.RoadProceduralTexture";
|
|
36
|
+
return serializationObject;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Creates a Road Procedural Texture from parsed road procedural texture data
|
|
40
|
+
* @param parsedTexture defines parsed texture data
|
|
41
|
+
* @param scene defines the current scene
|
|
42
|
+
* @param rootUrl defines the root URL containing road procedural texture information
|
|
43
|
+
* @returns a parsed Road Procedural Texture
|
|
44
|
+
*/
|
|
45
|
+
static Parse(parsedTexture, scene, rootUrl) {
|
|
46
|
+
const texture = SerializationHelper.Parse(() => new _a(parsedTexture.name, parsedTexture._size, scene, undefined, parsedTexture._generateMipMaps), parsedTexture, scene, rootUrl);
|
|
47
|
+
return texture;
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
(() => {
|
|
51
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
52
|
+
_get_roadColor_decorators = [serializeAsColor3()];
|
|
53
|
+
__esDecorate(_a, null, _get_roadColor_decorators, { kind: "getter", name: "roadColor", static: false, private: false, access: { has: obj => "roadColor" in obj, get: obj => obj.roadColor }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
54
|
+
if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
55
|
+
})(),
|
|
56
|
+
_a;
|
|
57
|
+
})();
|
|
58
|
+
export { RoadProceduralTexture };
|
|
48
59
|
RegisterClass("BABYLON.RoadProceduralTexture", RoadProceduralTexture);
|
|
49
60
|
//# sourceMappingURL=roadProceduralTexture.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roadProceduralTexture.js","sourceRoot":"","sources":["../../../../dev/proceduralTextures/src/road/roadProceduralTexture.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uDAAuD,CAAC;AAE1F,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"roadProceduralTexture.js","sourceRoot":"","sources":["../../../../dev/proceduralTextures/src/road/roadProceduralTexture.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uDAAuD,CAAC;AAE1F,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,kCAAkC,CAAC;IAE7B,qBAAqB;;sBAAS,iBAAiB;;;sBAA/C,qBAAsB,SAAQ,WAAiB;YAGxD,YAAY,IAAY,EAAE,IAAY,EAAE,QAAyB,IAAI,EAAE,eAAyB,EAAE,eAAyB;gBACvH,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,uBAAuB,EAAE,KAAK,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC;gBAHhF,eAAU,IADT,mDAAqB,EACT,IAAI,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAC;gBAI9C,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAChC,CAAC;YAEM,oBAAoB;gBACvB,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YACjD,CAAC;YAGD,IAAW,SAAS;gBAChB,OAAO,IAAI,CAAC,UAAU,CAAC;YAC3B,CAAC;YAED,IAAW,SAAS,CAAC,KAAa;gBAC9B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;gBACxB,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAChC,CAAC;YAED;;;eAGG;YACa,SAAS;gBACrB,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;gBACnF,mBAAmB,CAAC,UAAU,GAAG,+BAA+B,CAAC;gBAEjE,OAAO,mBAAmB,CAAC;YAC/B,CAAC;YAED;;;;;;eAMG;YACI,MAAM,CAAU,KAAK,CAAC,aAAkB,EAAE,KAAY,EAAE,OAAe;gBAC1E,MAAM,OAAO,GAAG,mBAAmB,CAAC,KAAK,CACrC,GAAG,EAAE,CAAC,IAAI,EAAqB,CAAC,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,CAAC,gBAAgB,CAAC,EAC1H,aAAa,EACb,KAAK,EACL,OAAO,CACV,CAAC;gBAEF,OAAO,OAAO,CAAC;YACnB,CAAC;;;;yCArCA,iBAAiB,EAAE;YACpB,gLAAW,SAAS,6DAEnB;;;;;SAfQ,qBAAqB;AAoDlC,aAAa,CAAC,+BAA+B,EAAE,qBAAqB,CAAC,CAAC","sourcesContent":["import { serializeAsColor3 } from \"core/Misc/decorators\";\r\nimport { SerializationHelper } from \"core/Misc/decorators.serialization\";\r\nimport { Color3 } from \"core/Maths/math.color\";\r\nimport { type Texture } from \"core/Materials/Textures/texture\";\r\nimport { ProceduralTexture } from \"core/Materials/Textures/Procedurals/proceduralTexture\";\r\nimport { type Scene } from \"core/scene\";\r\nimport { RegisterClass } from \"core/Misc/typeStore\";\r\nimport { type Nullable } from \"core/types\";\r\nimport \"./roadProceduralTexture.fragment\";\r\n\r\nexport class RoadProceduralTexture extends ProceduralTexture {\r\n private _roadColor = new Color3(0.53, 0.53, 0.53);\r\n\r\n constructor(name: string, size: number, scene: Nullable<Scene> = null, fallbackTexture?: Texture, generateMipMaps?: boolean) {\r\n super(name, size, \"roadProceduralTexture\", scene, fallbackTexture, generateMipMaps);\r\n this.updateShaderUniforms();\r\n }\r\n\r\n public updateShaderUniforms() {\r\n this.setColor3(\"roadColor\", this._roadColor);\r\n }\r\n\r\n @serializeAsColor3()\r\n public get roadColor(): Color3 {\r\n return this._roadColor;\r\n }\r\n\r\n public set roadColor(value: Color3) {\r\n this._roadColor = value;\r\n this.updateShaderUniforms();\r\n }\r\n\r\n /**\r\n * Serializes this road procedural texture\r\n * @returns a serialized road procedural texture object\r\n */\r\n public override serialize(): any {\r\n const serializationObject = SerializationHelper.Serialize(this, super.serialize());\r\n serializationObject.customType = \"BABYLON.RoadProceduralTexture\";\r\n\r\n return serializationObject;\r\n }\r\n\r\n /**\r\n * Creates a Road Procedural Texture from parsed road procedural texture data\r\n * @param parsedTexture defines parsed texture data\r\n * @param scene defines the current scene\r\n * @param rootUrl defines the root URL containing road procedural texture information\r\n * @returns a parsed Road Procedural Texture\r\n */\r\n public static override Parse(parsedTexture: any, scene: Scene, rootUrl: string): RoadProceduralTexture {\r\n const texture = SerializationHelper.Parse(\r\n () => new RoadProceduralTexture(parsedTexture.name, parsedTexture._size, scene, undefined, parsedTexture._generateMipMaps),\r\n parsedTexture,\r\n scene,\r\n rootUrl\r\n );\r\n\r\n return texture;\r\n }\r\n}\r\n\r\nRegisterClass(\"BABYLON.RoadProceduralTexture\", RoadProceduralTexture);\r\n"]}
|
|
@@ -1,168 +1,179 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { __esDecorate, __runInitializers } from "@babylonjs/core/tslib.es6.js";
|
|
2
2
|
import { serialize } from "@babylonjs/core/Misc/decorators.js";
|
|
3
3
|
import { SerializationHelper } from "@babylonjs/core/Misc/decorators.serialization.js";
|
|
4
4
|
import { ProceduralTexture } from "@babylonjs/core/Materials/Textures/Procedurals/proceduralTexture.js";
|
|
5
5
|
import { RegisterClass } from "@babylonjs/core/Misc/typeStore.js";
|
|
6
6
|
import "./starfieldProceduralTexture.fragment.js";
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
7
|
+
let StarfieldProceduralTexture = (() => {
|
|
8
|
+
var _a;
|
|
9
|
+
let _classSuper = ProceduralTexture;
|
|
10
|
+
let _instanceExtraInitializers = [];
|
|
11
|
+
let _get_time_decorators;
|
|
12
|
+
let _get_alpha_decorators;
|
|
13
|
+
let _get_beta_decorators;
|
|
14
|
+
let _get_formuparam_decorators;
|
|
15
|
+
let _get_stepsize_decorators;
|
|
16
|
+
let _get_zoom_decorators;
|
|
17
|
+
let _get_tile_decorators;
|
|
18
|
+
let _get_brightness_decorators;
|
|
19
|
+
let _get_darkmatter_decorators;
|
|
20
|
+
let _get_distfading_decorators;
|
|
21
|
+
let _get_saturation_decorators;
|
|
22
|
+
return _a = class StarfieldProceduralTexture extends _classSuper {
|
|
23
|
+
constructor(name, size, scene = null, fallbackTexture, generateMipMaps) {
|
|
24
|
+
super(name, size, "starfieldProceduralTexture", scene, fallbackTexture, generateMipMaps);
|
|
25
|
+
this._time = (__runInitializers(this, _instanceExtraInitializers), 1);
|
|
26
|
+
this._alpha = 0.5;
|
|
27
|
+
this._beta = 0.8;
|
|
28
|
+
this._zoom = 0.8;
|
|
29
|
+
this._formuparam = 0.53;
|
|
30
|
+
this._stepsize = 0.1;
|
|
31
|
+
this._tile = 0.85;
|
|
32
|
+
this._brightness = 0.0015;
|
|
33
|
+
this._darkmatter = 0.4;
|
|
34
|
+
this._distfading = 0.73;
|
|
35
|
+
this._saturation = 0.85;
|
|
36
|
+
this.updateShaderUniforms();
|
|
37
|
+
}
|
|
38
|
+
updateShaderUniforms() {
|
|
39
|
+
this.setFloat("time", this._time);
|
|
40
|
+
this.setFloat("alpha", this._alpha);
|
|
41
|
+
this.setFloat("beta", this._beta);
|
|
42
|
+
this.setFloat("zoom", this._zoom);
|
|
43
|
+
this.setFloat("formuparam", this._formuparam);
|
|
44
|
+
this.setFloat("stepsize", this._stepsize);
|
|
45
|
+
this.setFloat("tile", this._tile);
|
|
46
|
+
this.setFloat("brightness", this._brightness);
|
|
47
|
+
this.setFloat("darkmatter", this._darkmatter);
|
|
48
|
+
this.setFloat("distfading", this._distfading);
|
|
49
|
+
this.setFloat("saturation", this._saturation);
|
|
50
|
+
}
|
|
51
|
+
get time() {
|
|
52
|
+
return this._time;
|
|
53
|
+
}
|
|
54
|
+
set time(value) {
|
|
55
|
+
this._time = value;
|
|
56
|
+
this.updateShaderUniforms();
|
|
57
|
+
}
|
|
58
|
+
get alpha() {
|
|
59
|
+
return this._alpha;
|
|
60
|
+
}
|
|
61
|
+
set alpha(value) {
|
|
62
|
+
this._alpha = value;
|
|
63
|
+
this.updateShaderUniforms();
|
|
64
|
+
}
|
|
65
|
+
get beta() {
|
|
66
|
+
return this._beta;
|
|
67
|
+
}
|
|
68
|
+
set beta(value) {
|
|
69
|
+
this._beta = value;
|
|
70
|
+
this.updateShaderUniforms();
|
|
71
|
+
}
|
|
72
|
+
get formuparam() {
|
|
73
|
+
return this._formuparam;
|
|
74
|
+
}
|
|
75
|
+
set formuparam(value) {
|
|
76
|
+
this._formuparam = value;
|
|
77
|
+
this.updateShaderUniforms();
|
|
78
|
+
}
|
|
79
|
+
get stepsize() {
|
|
80
|
+
return this._stepsize;
|
|
81
|
+
}
|
|
82
|
+
set stepsize(value) {
|
|
83
|
+
this._stepsize = value;
|
|
84
|
+
this.updateShaderUniforms();
|
|
85
|
+
}
|
|
86
|
+
get zoom() {
|
|
87
|
+
return this._zoom;
|
|
88
|
+
}
|
|
89
|
+
set zoom(value) {
|
|
90
|
+
this._zoom = value;
|
|
91
|
+
this.updateShaderUniforms();
|
|
92
|
+
}
|
|
93
|
+
get tile() {
|
|
94
|
+
return this._tile;
|
|
95
|
+
}
|
|
96
|
+
set tile(value) {
|
|
97
|
+
this._tile = value;
|
|
98
|
+
this.updateShaderUniforms();
|
|
99
|
+
}
|
|
100
|
+
get brightness() {
|
|
101
|
+
return this._brightness;
|
|
102
|
+
}
|
|
103
|
+
set brightness(value) {
|
|
104
|
+
this._brightness = value;
|
|
105
|
+
this.updateShaderUniforms();
|
|
106
|
+
}
|
|
107
|
+
get darkmatter() {
|
|
108
|
+
return this._darkmatter;
|
|
109
|
+
}
|
|
110
|
+
set darkmatter(value) {
|
|
111
|
+
this._darkmatter = value;
|
|
112
|
+
this.updateShaderUniforms();
|
|
113
|
+
}
|
|
114
|
+
get distfading() {
|
|
115
|
+
return this._distfading;
|
|
116
|
+
}
|
|
117
|
+
set distfading(value) {
|
|
118
|
+
this._distfading = value;
|
|
119
|
+
this.updateShaderUniforms();
|
|
120
|
+
}
|
|
121
|
+
get saturation() {
|
|
122
|
+
return this._saturation;
|
|
123
|
+
}
|
|
124
|
+
set saturation(value) {
|
|
125
|
+
this._saturation = value;
|
|
126
|
+
this.updateShaderUniforms();
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Serializes this starfield procedural texture
|
|
130
|
+
* @returns a serialized starfield procedural texture object
|
|
131
|
+
*/
|
|
132
|
+
serialize() {
|
|
133
|
+
const serializationObject = SerializationHelper.Serialize(this, super.serialize());
|
|
134
|
+
serializationObject.customType = "BABYLON.StarfieldProceduralTexture";
|
|
135
|
+
return serializationObject;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Creates a Starfield Procedural Texture from parsed startfield procedural texture data
|
|
139
|
+
* @param parsedTexture defines parsed texture data
|
|
140
|
+
* @param scene defines the current scene
|
|
141
|
+
* @param rootUrl defines the root URL containing startfield procedural texture information
|
|
142
|
+
* @returns a parsed Starfield Procedural Texture
|
|
143
|
+
*/
|
|
144
|
+
static Parse(parsedTexture, scene, rootUrl) {
|
|
145
|
+
const texture = SerializationHelper.Parse(() => new _a(parsedTexture.name, parsedTexture._size, scene, undefined, parsedTexture._generateMipMaps), parsedTexture, scene, rootUrl);
|
|
146
|
+
return texture;
|
|
147
|
+
}
|
|
148
|
+
},
|
|
149
|
+
(() => {
|
|
150
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
151
|
+
_get_time_decorators = [serialize()];
|
|
152
|
+
_get_alpha_decorators = [serialize()];
|
|
153
|
+
_get_beta_decorators = [serialize()];
|
|
154
|
+
_get_formuparam_decorators = [serialize()];
|
|
155
|
+
_get_stepsize_decorators = [serialize()];
|
|
156
|
+
_get_zoom_decorators = [serialize()];
|
|
157
|
+
_get_tile_decorators = [serialize()];
|
|
158
|
+
_get_brightness_decorators = [serialize()];
|
|
159
|
+
_get_darkmatter_decorators = [serialize()];
|
|
160
|
+
_get_distfading_decorators = [serialize()];
|
|
161
|
+
_get_saturation_decorators = [serialize()];
|
|
162
|
+
__esDecorate(_a, null, _get_time_decorators, { kind: "getter", name: "time", static: false, private: false, access: { has: obj => "time" in obj, get: obj => obj.time }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
163
|
+
__esDecorate(_a, null, _get_alpha_decorators, { kind: "getter", name: "alpha", static: false, private: false, access: { has: obj => "alpha" in obj, get: obj => obj.alpha }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
164
|
+
__esDecorate(_a, null, _get_beta_decorators, { kind: "getter", name: "beta", static: false, private: false, access: { has: obj => "beta" in obj, get: obj => obj.beta }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
165
|
+
__esDecorate(_a, null, _get_formuparam_decorators, { kind: "getter", name: "formuparam", static: false, private: false, access: { has: obj => "formuparam" in obj, get: obj => obj.formuparam }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
166
|
+
__esDecorate(_a, null, _get_stepsize_decorators, { kind: "getter", name: "stepsize", static: false, private: false, access: { has: obj => "stepsize" in obj, get: obj => obj.stepsize }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
167
|
+
__esDecorate(_a, null, _get_zoom_decorators, { kind: "getter", name: "zoom", static: false, private: false, access: { has: obj => "zoom" in obj, get: obj => obj.zoom }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
168
|
+
__esDecorate(_a, null, _get_tile_decorators, { kind: "getter", name: "tile", static: false, private: false, access: { has: obj => "tile" in obj, get: obj => obj.tile }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
169
|
+
__esDecorate(_a, null, _get_brightness_decorators, { kind: "getter", name: "brightness", static: false, private: false, access: { has: obj => "brightness" in obj, get: obj => obj.brightness }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
170
|
+
__esDecorate(_a, null, _get_darkmatter_decorators, { kind: "getter", name: "darkmatter", static: false, private: false, access: { has: obj => "darkmatter" in obj, get: obj => obj.darkmatter }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
171
|
+
__esDecorate(_a, null, _get_distfading_decorators, { kind: "getter", name: "distfading", static: false, private: false, access: { has: obj => "distfading" in obj, get: obj => obj.distfading }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
172
|
+
__esDecorate(_a, null, _get_saturation_decorators, { kind: "getter", name: "saturation", static: false, private: false, access: { has: obj => "saturation" in obj, get: obj => obj.saturation }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
173
|
+
if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
174
|
+
})(),
|
|
175
|
+
_a;
|
|
176
|
+
})();
|
|
177
|
+
export { StarfieldProceduralTexture };
|
|
167
178
|
RegisterClass("BABYLON.StarfieldProceduralTexture", StarfieldProceduralTexture);
|
|
168
179
|
//# sourceMappingURL=starfieldProceduralTexture.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"starfieldProceduralTexture.js","sourceRoot":"","sources":["../../../../dev/proceduralTextures/src/starfield/starfieldProceduralTexture.ts"],"names":[],"mappings":"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","sourcesContent":["import { serialize } from \"core/Misc/decorators\";\r\nimport { SerializationHelper } from \"core/Misc/decorators.serialization\";\r\nimport { type Texture } from \"core/Materials/Textures/texture\";\r\nimport { ProceduralTexture } from \"core/Materials/Textures/Procedurals/proceduralTexture\";\r\nimport { type Scene } from \"core/scene\";\r\nimport { RegisterClass } from \"core/Misc/typeStore\";\r\nimport { type Nullable } from \"core/types\";\r\nimport \"./starfieldProceduralTexture.fragment\";\r\n\r\nexport class StarfieldProceduralTexture extends ProceduralTexture {\r\n private _time = 1;\r\n private _alpha = 0.5;\r\n private _beta = 0.8;\r\n private _zoom = 0.8;\r\n private _formuparam = 0.53;\r\n private _stepsize = 0.1;\r\n private _tile = 0.85;\r\n private _brightness = 0.0015;\r\n private _darkmatter = 0.4;\r\n private _distfading = 0.73;\r\n private _saturation = 0.85;\r\n\r\n constructor(name: string, size: number, scene: Nullable<Scene> = null, fallbackTexture?: Texture, generateMipMaps?: boolean) {\r\n super(name, size, \"starfieldProceduralTexture\", scene, fallbackTexture, generateMipMaps);\r\n this.updateShaderUniforms();\r\n }\r\n\r\n public updateShaderUniforms() {\r\n this.setFloat(\"time\", this._time);\r\n this.setFloat(\"alpha\", this._alpha);\r\n this.setFloat(\"beta\", this._beta);\r\n this.setFloat(\"zoom\", this._zoom);\r\n this.setFloat(\"formuparam\", this._formuparam);\r\n this.setFloat(\"stepsize\", this._stepsize);\r\n this.setFloat(\"tile\", this._tile);\r\n this.setFloat(\"brightness\", this._brightness);\r\n this.setFloat(\"darkmatter\", this._darkmatter);\r\n this.setFloat(\"distfading\", this._distfading);\r\n this.setFloat(\"saturation\", this._saturation);\r\n }\r\n\r\n @serialize()\r\n public get time(): number {\r\n return this._time;\r\n }\r\n\r\n public set time(value: number) {\r\n this._time = value;\r\n this.updateShaderUniforms();\r\n }\r\n\r\n @serialize()\r\n public get alpha(): number {\r\n return this._alpha;\r\n }\r\n\r\n public set alpha(value: number) {\r\n this._alpha = value;\r\n this.updateShaderUniforms();\r\n }\r\n\r\n @serialize()\r\n public get beta(): number {\r\n return this._beta;\r\n }\r\n\r\n public set beta(value: number) {\r\n this._beta = value;\r\n this.updateShaderUniforms();\r\n }\r\n\r\n @serialize()\r\n public get formuparam(): number {\r\n return this._formuparam;\r\n }\r\n\r\n public set formuparam(value: number) {\r\n this._formuparam = value;\r\n this.updateShaderUniforms();\r\n }\r\n\r\n @serialize()\r\n public get stepsize(): number {\r\n return this._stepsize;\r\n }\r\n\r\n public set stepsize(value: number) {\r\n this._stepsize = value;\r\n this.updateShaderUniforms();\r\n }\r\n\r\n @serialize()\r\n public get zoom(): number {\r\n return this._zoom;\r\n }\r\n\r\n public set zoom(value: number) {\r\n this._zoom = value;\r\n this.updateShaderUniforms();\r\n }\r\n\r\n @serialize()\r\n public get tile(): number {\r\n return this._tile;\r\n }\r\n\r\n public set tile(value: number) {\r\n this._tile = value;\r\n this.updateShaderUniforms();\r\n }\r\n\r\n @serialize()\r\n public get brightness(): number {\r\n return this._brightness;\r\n }\r\n\r\n public set brightness(value: number) {\r\n this._brightness = value;\r\n this.updateShaderUniforms();\r\n }\r\n\r\n @serialize()\r\n public get darkmatter(): number {\r\n return this._darkmatter;\r\n }\r\n\r\n public set darkmatter(value: number) {\r\n this._darkmatter = value;\r\n this.updateShaderUniforms();\r\n }\r\n\r\n @serialize()\r\n public get distfading(): number {\r\n return this._distfading;\r\n }\r\n\r\n public set distfading(value: number) {\r\n this._distfading = value;\r\n this.updateShaderUniforms();\r\n }\r\n\r\n @serialize()\r\n public get saturation(): number {\r\n return this._saturation;\r\n }\r\n\r\n public set saturation(value: number) {\r\n this._saturation = value;\r\n this.updateShaderUniforms();\r\n }\r\n\r\n /**\r\n * Serializes this starfield procedural texture\r\n * @returns a serialized starfield procedural texture object\r\n */\r\n public override serialize(): any {\r\n const serializationObject = SerializationHelper.Serialize(this, super.serialize());\r\n serializationObject.customType = \"BABYLON.StarfieldProceduralTexture\";\r\n\r\n return serializationObject;\r\n }\r\n\r\n /**\r\n * Creates a Starfield Procedural Texture from parsed startfield procedural texture data\r\n * @param parsedTexture defines parsed texture data\r\n * @param scene defines the current scene\r\n * @param rootUrl defines the root URL containing startfield procedural texture information\r\n * @returns a parsed Starfield Procedural Texture\r\n */\r\n public static override Parse(parsedTexture: any, scene: Scene, rootUrl: string): StarfieldProceduralTexture {\r\n const texture = SerializationHelper.Parse(\r\n () => new StarfieldProceduralTexture(parsedTexture.name, parsedTexture._size, scene, undefined, parsedTexture._generateMipMaps),\r\n parsedTexture,\r\n scene,\r\n rootUrl\r\n );\r\n\r\n return texture;\r\n }\r\n}\r\n\r\nRegisterClass(\"BABYLON.StarfieldProceduralTexture\", StarfieldProceduralTexture);\r\n"]}
|
|
1
|
+
{"version":3,"file":"starfieldProceduralTexture.js","sourceRoot":"","sources":["../../../../dev/proceduralTextures/src/starfield/starfieldProceduralTexture.ts"],"names":[],"mappings":"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","sourcesContent":["import { serialize } from \"core/Misc/decorators\";\r\nimport { SerializationHelper } from \"core/Misc/decorators.serialization\";\r\nimport { type Texture } from \"core/Materials/Textures/texture\";\r\nimport { ProceduralTexture } from \"core/Materials/Textures/Procedurals/proceduralTexture\";\r\nimport { type Scene } from \"core/scene\";\r\nimport { RegisterClass } from \"core/Misc/typeStore\";\r\nimport { type Nullable } from \"core/types\";\r\nimport \"./starfieldProceduralTexture.fragment\";\r\n\r\nexport class StarfieldProceduralTexture extends ProceduralTexture {\r\n private _time = 1;\r\n private _alpha = 0.5;\r\n private _beta = 0.8;\r\n private _zoom = 0.8;\r\n private _formuparam = 0.53;\r\n private _stepsize = 0.1;\r\n private _tile = 0.85;\r\n private _brightness = 0.0015;\r\n private _darkmatter = 0.4;\r\n private _distfading = 0.73;\r\n private _saturation = 0.85;\r\n\r\n constructor(name: string, size: number, scene: Nullable<Scene> = null, fallbackTexture?: Texture, generateMipMaps?: boolean) {\r\n super(name, size, \"starfieldProceduralTexture\", scene, fallbackTexture, generateMipMaps);\r\n this.updateShaderUniforms();\r\n }\r\n\r\n public updateShaderUniforms() {\r\n this.setFloat(\"time\", this._time);\r\n this.setFloat(\"alpha\", this._alpha);\r\n this.setFloat(\"beta\", this._beta);\r\n this.setFloat(\"zoom\", this._zoom);\r\n this.setFloat(\"formuparam\", this._formuparam);\r\n this.setFloat(\"stepsize\", this._stepsize);\r\n this.setFloat(\"tile\", this._tile);\r\n this.setFloat(\"brightness\", this._brightness);\r\n this.setFloat(\"darkmatter\", this._darkmatter);\r\n this.setFloat(\"distfading\", this._distfading);\r\n this.setFloat(\"saturation\", this._saturation);\r\n }\r\n\r\n @serialize()\r\n public get time(): number {\r\n return this._time;\r\n }\r\n\r\n public set time(value: number) {\r\n this._time = value;\r\n this.updateShaderUniforms();\r\n }\r\n\r\n @serialize()\r\n public get alpha(): number {\r\n return this._alpha;\r\n }\r\n\r\n public set alpha(value: number) {\r\n this._alpha = value;\r\n this.updateShaderUniforms();\r\n }\r\n\r\n @serialize()\r\n public get beta(): number {\r\n return this._beta;\r\n }\r\n\r\n public set beta(value: number) {\r\n this._beta = value;\r\n this.updateShaderUniforms();\r\n }\r\n\r\n @serialize()\r\n public get formuparam(): number {\r\n return this._formuparam;\r\n }\r\n\r\n public set formuparam(value: number) {\r\n this._formuparam = value;\r\n this.updateShaderUniforms();\r\n }\r\n\r\n @serialize()\r\n public get stepsize(): number {\r\n return this._stepsize;\r\n }\r\n\r\n public set stepsize(value: number) {\r\n this._stepsize = value;\r\n this.updateShaderUniforms();\r\n }\r\n\r\n @serialize()\r\n public get zoom(): number {\r\n return this._zoom;\r\n }\r\n\r\n public set zoom(value: number) {\r\n this._zoom = value;\r\n this.updateShaderUniforms();\r\n }\r\n\r\n @serialize()\r\n public get tile(): number {\r\n return this._tile;\r\n }\r\n\r\n public set tile(value: number) {\r\n this._tile = value;\r\n this.updateShaderUniforms();\r\n }\r\n\r\n @serialize()\r\n public get brightness(): number {\r\n return this._brightness;\r\n }\r\n\r\n public set brightness(value: number) {\r\n this._brightness = value;\r\n this.updateShaderUniforms();\r\n }\r\n\r\n @serialize()\r\n public get darkmatter(): number {\r\n return this._darkmatter;\r\n }\r\n\r\n public set darkmatter(value: number) {\r\n this._darkmatter = value;\r\n this.updateShaderUniforms();\r\n }\r\n\r\n @serialize()\r\n public get distfading(): number {\r\n return this._distfading;\r\n }\r\n\r\n public set distfading(value: number) {\r\n this._distfading = value;\r\n this.updateShaderUniforms();\r\n }\r\n\r\n @serialize()\r\n public get saturation(): number {\r\n return this._saturation;\r\n }\r\n\r\n public set saturation(value: number) {\r\n this._saturation = value;\r\n this.updateShaderUniforms();\r\n }\r\n\r\n /**\r\n * Serializes this starfield procedural texture\r\n * @returns a serialized starfield procedural texture object\r\n */\r\n public override serialize(): any {\r\n const serializationObject = SerializationHelper.Serialize(this, super.serialize());\r\n serializationObject.customType = \"BABYLON.StarfieldProceduralTexture\";\r\n\r\n return serializationObject;\r\n }\r\n\r\n /**\r\n * Creates a Starfield Procedural Texture from parsed startfield procedural texture data\r\n * @param parsedTexture defines parsed texture data\r\n * @param scene defines the current scene\r\n * @param rootUrl defines the root URL containing startfield procedural texture information\r\n * @returns a parsed Starfield Procedural Texture\r\n */\r\n public static override Parse(parsedTexture: any, scene: Scene, rootUrl: string): StarfieldProceduralTexture {\r\n const texture = SerializationHelper.Parse(\r\n () => new StarfieldProceduralTexture(parsedTexture.name, parsedTexture._size, scene, undefined, parsedTexture._generateMipMaps),\r\n parsedTexture,\r\n scene,\r\n rootUrl\r\n );\r\n\r\n return texture;\r\n }\r\n}\r\n\r\nRegisterClass(\"BABYLON.StarfieldProceduralTexture\", StarfieldProceduralTexture);\r\n"]}
|