@needle-tools/engine 4.14.0-next.31f837e → 4.14.0-next.b2e3b1a
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/CHANGELOG.md +9 -0
- package/components.needle.json +1 -1
- package/dist/{generateMeshBVH.worker-DFcS3P04.js → generateMeshBVH.worker-DiCnZlf3.js} +1 -1
- package/dist/{gltf-progressive-8voIgNp_.js → gltf-progressive-Bm_6aEi4.js} +4 -4
- package/dist/{gltf-progressive-BRRBj-nY.umd.cjs → gltf-progressive-BttGBXw6.umd.cjs} +3 -3
- package/dist/{gltf-progressive-Dkh3tG4-.min.js → gltf-progressive-T5WKTux5.min.js} +1 -1
- package/dist/{loader.worker-C6cXDgR1.js → loader.worker-BqODMeeW.js} +1 -1
- package/dist/{materialx-Dx8st96L.min.js → materialx-CJyQZtjt.min.js} +1 -1
- package/dist/{materialx-D66rYPqe.js → materialx-DMs1E08Z.js} +2 -2
- package/dist/{materialx-CxlgposR.umd.cjs → materialx-DaKKOoVk.umd.cjs} +1 -1
- package/dist/{needle-engine.bundle-BQXG5qbQ.umd.cjs → needle-engine.bundle-BC1QDiuv.umd.cjs} +139 -139
- package/dist/{needle-engine.bundle-D7w0XD7M.min.js → needle-engine.bundle-Bhgt3W8p.min.js} +134 -134
- package/dist/{needle-engine.bundle-Byl5i6zJ.js → needle-engine.bundle-CeQXs7Hh.js} +5966 -5880
- package/dist/needle-engine.d.ts +552 -31
- package/dist/needle-engine.js +4 -4
- package/dist/needle-engine.min.js +1 -1
- package/dist/needle-engine.umd.cjs +1 -1
- package/dist/{postprocessing-Ce5-UWiA.min.js → postprocessing-06AXuvdv.min.js} +2 -2
- package/dist/{postprocessing-BkSpxpYB.js → postprocessing-CI2x8Cln.js} +4 -4
- package/dist/{postprocessing-DFVElmAh.umd.cjs → postprocessing-CPDcA21P.umd.cjs} +2 -2
- package/dist/{three-Bad8p1pf.umd.cjs → three-BjYim-vL.umd.cjs} +47 -47
- package/dist/{three-DFV1-P9z.js → three-Bvk2VKbF.js} +2 -2
- package/dist/{three-CWn13_u1.min.js → three-IG2qPafA.min.js} +2 -2
- package/dist/{three-examples-CO-tx3Sp.umd.cjs → three-examples-BMmNgNCN.umd.cjs} +1 -1
- package/dist/{three-examples-43yqn3mL.js → three-examples-CMYCd5nH.js} +1 -1
- package/dist/{three-examples-DKuJVGT4.min.js → three-examples-CQl1fFZp.min.js} +1 -1
- package/dist/{three-mesh-ui-DyEA5HQF.min.js → three-mesh-ui-5HVE2RV-.min.js} +1 -1
- package/dist/{three-mesh-ui-fSAQJxdI.js → three-mesh-ui-BlakAItG.js} +1 -1
- package/dist/{three-mesh-ui-ChzVOraf.umd.cjs → three-mesh-ui-D828VbQp.umd.cjs} +1 -1
- package/dist/{vendor-pe19S9r5.min.js → vendor-BxK0WKmT.min.js} +1 -1
- package/dist/{vendor-B51YffMU.umd.cjs → vendor-CIDkyBaO.umd.cjs} +1 -1
- package/dist/{vendor-CgpZ5ivC.js → vendor-ixwD-vv2.js} +1 -1
- package/lib/engine/api.d.ts +1 -1
- package/lib/engine/api.js +1 -1
- package/lib/engine/api.js.map +1 -1
- package/lib/engine/engine_components.d.ts +1 -1
- package/lib/engine/engine_components.js +7 -3
- package/lib/engine/engine_components.js.map +1 -1
- package/lib/engine/engine_context.d.ts +12 -0
- package/lib/engine/engine_context.js +29 -0
- package/lib/engine/engine_context.js.map +1 -1
- package/lib/engine/engine_gltf_builtin_components.js +16 -1
- package/lib/engine/engine_gltf_builtin_components.js.map +1 -1
- package/lib/engine/engine_materialpropertyblock.d.ts +223 -11
- package/lib/engine/engine_materialpropertyblock.js +303 -33
- package/lib/engine/engine_materialpropertyblock.js.map +1 -1
- package/lib/engine-components/Camera.js.map +1 -1
- package/lib/engine-components/DropListener.js.map +1 -1
- package/lib/engine-components/Duplicatable.js.map +1 -1
- package/lib/engine-components/GroundProjection.js.map +1 -1
- package/lib/engine-components/NeedleMenu.js.map +1 -1
- package/lib/engine-components/NestedGltf.js.map +1 -1
- package/lib/engine-components/ReflectionProbe.d.ts +32 -3
- package/lib/engine-components/ReflectionProbe.js +57 -26
- package/lib/engine-components/ReflectionProbe.js.map +1 -1
- package/lib/engine-components/Renderer.d.ts +2 -0
- package/lib/engine-components/Renderer.js +30 -6
- package/lib/engine-components/Renderer.js.map +1 -1
- package/lib/engine-components/RendererLightmap.js +2 -3
- package/lib/engine-components/RendererLightmap.js.map +1 -1
- package/lib/engine-components/SeeThrough.d.ts +0 -2
- package/lib/engine-components/SeeThrough.js +114 -88
- package/lib/engine-components/SeeThrough.js.map +1 -1
- package/lib/engine-components/SmoothFollow.js.map +1 -1
- package/lib/engine-components/ui/Button.js.map +1 -1
- package/lib/engine-components/ui/Raycaster.js.map +1 -1
- package/lib/engine-components/web/ViewBox.d.ts +2 -2
- package/lib/engine-components/web/ViewBox.js +2 -2
- package/lib/engine-components/web/ViewBox.js.map +1 -1
- package/lib/engine-components/webxr/WebXRPlaneTracking.js.map +1 -1
- package/lib/engine-components/webxr/controllers/XRControllerFollow.js.map +1 -1
- package/lib/engine-components/webxr/controllers/XRControllerMovement.js.map +1 -1
- package/package.json +4 -4
- package/src/engine/api.ts +1 -1
- package/src/engine/engine_components.ts +7 -3
- package/src/engine/engine_context.ts +28 -2
- package/src/engine/engine_gltf_builtin_components.ts +17 -1
- package/src/engine/engine_materialpropertyblock.ts +405 -39
- package/src/engine-components/Camera.ts +2 -2
- package/src/engine-components/DropListener.ts +1 -1
- package/src/engine-components/Duplicatable.ts +1 -1
- package/src/engine-components/GroundProjection.ts +3 -0
- package/src/engine-components/NeedleMenu.ts +3 -0
- package/src/engine-components/NestedGltf.ts +1 -1
- package/src/engine-components/ReflectionProbe.ts +61 -30
- package/src/engine-components/Renderer.ts +34 -6
- package/src/engine-components/RendererLightmap.ts +2 -3
- package/src/engine-components/SeeThrough.ts +122 -107
- package/src/engine-components/SmoothFollow.ts +2 -2
- package/src/engine-components/ui/Button.ts +1 -1
- package/src/engine-components/ui/Raycaster.ts +1 -1
- package/src/engine-components/web/ViewBox.ts +9 -2
- package/src/engine-components/webxr/WebXRPlaneTracking.ts +3 -3
- package/src/engine-components/webxr/controllers/XRControllerFollow.ts +1 -1
- package/src/engine-components/webxr/controllers/XRControllerMovement.ts +4 -4
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import { Texture } from "three";
|
|
2
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Centralized registry for all property block related data.
|
|
4
|
+
* Uses WeakMaps to allow automatic garbage collection when objects are destroyed.
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
3
7
|
class PropertyBlockRegistry {
|
|
4
8
|
// Map from object to its property block
|
|
5
9
|
objectToBlock = new WeakMap();
|
|
6
10
|
// Track which materials belong to which property block (to prevent applying to wrong materials)
|
|
7
11
|
// Use WeakSet for automatic cleanup when materials are garbage collected
|
|
8
|
-
objectToMaterials = new WeakMap();
|
|
12
|
+
// private objectToMaterials = new WeakMap<Object3D, WeakSet<Material>>();
|
|
9
13
|
// Track which meshes have callbacks for which property block owners
|
|
10
14
|
meshToOwners = new WeakMap();
|
|
11
15
|
// Track original callback functions for cleanup (reserved for future use)
|
|
@@ -18,19 +22,19 @@ class PropertyBlockRegistry {
|
|
|
18
22
|
}
|
|
19
23
|
deleteBlock(object) {
|
|
20
24
|
this.objectToBlock.delete(object);
|
|
21
|
-
this.objectToMaterials.delete(object);
|
|
22
|
-
}
|
|
23
|
-
addMaterial(object, material) {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
}
|
|
31
|
-
hasMaterial(object, material) {
|
|
32
|
-
|
|
33
|
-
}
|
|
25
|
+
// this.objectToMaterials.delete(object);
|
|
26
|
+
}
|
|
27
|
+
// addMaterial(object: Object3D, material: Material): void {
|
|
28
|
+
// let materials = this.objectToMaterials.get(object);
|
|
29
|
+
// if (!materials) {
|
|
30
|
+
// materials = new WeakSet();
|
|
31
|
+
// this.objectToMaterials.set(object, materials);
|
|
32
|
+
// }
|
|
33
|
+
// materials.add(material);
|
|
34
|
+
// }
|
|
35
|
+
// hasMaterial(object: Object3D, material: Material): boolean {
|
|
36
|
+
// return this.objectToMaterials.get(object)?.has(material) ?? false;
|
|
37
|
+
// }
|
|
34
38
|
isHooked(mesh, owner) {
|
|
35
39
|
return this.meshToOwners.get(mesh)?.has(owner) ?? false;
|
|
36
40
|
}
|
|
@@ -59,14 +63,98 @@ class PropertyBlockRegistry {
|
|
|
59
63
|
}
|
|
60
64
|
}
|
|
61
65
|
const registry = new PropertyBlockRegistry();
|
|
66
|
+
/**
|
|
67
|
+
* MaterialPropertyBlock allows per-object material property overrides without creating new material instances.
|
|
68
|
+
* This is useful for rendering multiple objects with the same base material but different properties
|
|
69
|
+
* (e.g., different colors, textures, or shader parameters).
|
|
70
|
+
*
|
|
71
|
+
* The property block system works by:
|
|
72
|
+
* - Temporarily applying overrides in onBeforeRender
|
|
73
|
+
* - Restoring original values in onAfterRender
|
|
74
|
+
* - Managing shader defines and program cache keys for correct shader compilation
|
|
75
|
+
* - Supporting texture coordinate transforms per object
|
|
76
|
+
*
|
|
77
|
+
* Common use cases:
|
|
78
|
+
* - **Lightmaps**: Apply unique lightmap textures to individual objects sharing the same material
|
|
79
|
+
* - **Reflection Probes**: Apply different environment maps per object for localized reflections
|
|
80
|
+
* - **See-through effects**: Temporarily override transparency/transmission properties for X-ray effects
|
|
81
|
+
*
|
|
82
|
+
* ## Getting a MaterialPropertyBlock
|
|
83
|
+
*
|
|
84
|
+
* **Important**: Do not use the constructor directly. Instead, use the static {@link MaterialPropertyBlock.get} method:
|
|
85
|
+
*
|
|
86
|
+
* ```typescript
|
|
87
|
+
* const block = MaterialPropertyBlock.get(myMesh);
|
|
88
|
+
* ```
|
|
89
|
+
*
|
|
90
|
+
* This method will either return an existing property block or create a new one if it doesn't exist.
|
|
91
|
+
* It automatically:
|
|
92
|
+
* - Creates the property block instance
|
|
93
|
+
* - Registers it in the internal registry
|
|
94
|
+
* - Attaches the necessary render callbacks to the object
|
|
95
|
+
* - Handles Groups by applying overrides to all child meshes
|
|
96
|
+
*
|
|
97
|
+
* @example Basic usage
|
|
98
|
+
* ```typescript
|
|
99
|
+
* // Get or create a property block for an object
|
|
100
|
+
* const block = MaterialPropertyBlock.get(myMesh);
|
|
101
|
+
*
|
|
102
|
+
* // Override the color property
|
|
103
|
+
* block.setOverride("color", new Color(1, 0, 0));
|
|
104
|
+
*
|
|
105
|
+
* // Override a texture with custom UV transform (useful for lightmaps)
|
|
106
|
+
* block.setOverride("lightMap", myLightmapTexture, {
|
|
107
|
+
* offset: new Vector2(0.5, 0.5),
|
|
108
|
+
* repeat: new Vector2(2, 2)
|
|
109
|
+
* });
|
|
110
|
+
*
|
|
111
|
+
* // Set a shader define
|
|
112
|
+
* block.setDefine("USE_CUSTOM_FEATURE", 1);
|
|
113
|
+
* ```
|
|
114
|
+
*
|
|
115
|
+
* @example Lightmap usage
|
|
116
|
+
* ```typescript
|
|
117
|
+
* const block = MaterialPropertyBlock.get(mesh);
|
|
118
|
+
* block.setOverride("lightMap", lightmapTexture);
|
|
119
|
+
* block.setOverride("lightMapIntensity", 1.5);
|
|
120
|
+
* ```
|
|
121
|
+
*
|
|
122
|
+
* @example See-through effect
|
|
123
|
+
* ```typescript
|
|
124
|
+
* const block = MaterialPropertyBlock.get(mesh);
|
|
125
|
+
* block.setOverride("transparent", true);
|
|
126
|
+
* block.setOverride("opacity", 0.3);
|
|
127
|
+
* ```
|
|
128
|
+
*
|
|
129
|
+
* @template T The material type this property block is associated with
|
|
130
|
+
*/
|
|
62
131
|
export class MaterialPropertyBlock {
|
|
63
132
|
_overrides = [];
|
|
64
133
|
_defines = {};
|
|
65
134
|
_object = null;
|
|
135
|
+
/** The object this property block is attached to */
|
|
66
136
|
get object() { return this._object; }
|
|
137
|
+
/**
|
|
138
|
+
* Creates a new MaterialPropertyBlock
|
|
139
|
+
* @param object The object this property block is for (optional)
|
|
140
|
+
*/
|
|
67
141
|
constructor(object = null) {
|
|
68
142
|
this._object = object;
|
|
69
143
|
}
|
|
144
|
+
/**
|
|
145
|
+
* Gets or creates a MaterialPropertyBlock for the given object.
|
|
146
|
+
* This is the recommended way to obtain a property block instance.
|
|
147
|
+
*
|
|
148
|
+
* @template T The material type
|
|
149
|
+
* @param object The object to get/create a property block for
|
|
150
|
+
* @returns The MaterialPropertyBlock associated with this object
|
|
151
|
+
*
|
|
152
|
+
* @example
|
|
153
|
+
* ```typescript
|
|
154
|
+
* const block = MaterialPropertyBlock.get(myMesh);
|
|
155
|
+
* block.setOverride("roughness", 0.5);
|
|
156
|
+
* ```
|
|
157
|
+
*/
|
|
70
158
|
static get(object) {
|
|
71
159
|
let block = registry.getBlock(object);
|
|
72
160
|
if (!block) {
|
|
@@ -76,6 +164,19 @@ export class MaterialPropertyBlock {
|
|
|
76
164
|
}
|
|
77
165
|
return block;
|
|
78
166
|
}
|
|
167
|
+
/**
|
|
168
|
+
* Checks if an object has any property overrides
|
|
169
|
+
* @param object The object to check
|
|
170
|
+
* @returns True if the object has a property block with overrides
|
|
171
|
+
*/
|
|
172
|
+
static hasOverrides(object) {
|
|
173
|
+
const block = registry.getBlock(object);
|
|
174
|
+
return block ? block.hasOverrides() : false;
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Disposes this property block and cleans up associated resources.
|
|
178
|
+
* After calling dispose, this property block should not be used.
|
|
179
|
+
*/
|
|
79
180
|
dispose() {
|
|
80
181
|
if (this._object) {
|
|
81
182
|
registry.deleteBlock(this._object);
|
|
@@ -97,43 +198,77 @@ export class MaterialPropertyBlock {
|
|
|
97
198
|
getOverride(name) {
|
|
98
199
|
return this._overrides.find(o => o.name === name);
|
|
99
200
|
}
|
|
100
|
-
|
|
201
|
+
/**
|
|
202
|
+
* Removes a specific property override
|
|
203
|
+
* @param name The property name to clear
|
|
204
|
+
*/
|
|
205
|
+
removeOveride(name) {
|
|
101
206
|
const index = this._overrides.findIndex(o => o.name === name);
|
|
102
207
|
if (index >= 0) {
|
|
103
208
|
this._overrides.splice(index, 1);
|
|
104
209
|
}
|
|
105
210
|
}
|
|
211
|
+
/**
|
|
212
|
+
* Removes all property overrides from this block
|
|
213
|
+
*/
|
|
106
214
|
clearAllOverrides() {
|
|
107
215
|
this._overrides = [];
|
|
108
216
|
}
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
217
|
+
/**
|
|
218
|
+
* Gets all property overrides as a readonly array
|
|
219
|
+
* @returns Array of all property overrides
|
|
220
|
+
*/
|
|
112
221
|
get overrides() {
|
|
113
222
|
return this._overrides;
|
|
114
223
|
}
|
|
224
|
+
/**
|
|
225
|
+
* Checks if this property block has any overrides
|
|
226
|
+
* @returns True if there are any overrides set
|
|
227
|
+
*/
|
|
115
228
|
hasOverrides() {
|
|
116
229
|
return this._overrides.length > 0;
|
|
117
230
|
}
|
|
118
231
|
/**
|
|
119
|
-
* Set a shader define that will be included in the program cache key
|
|
120
|
-
* This allows different objects sharing the same material to have different shader programs
|
|
232
|
+
* Set a shader define that will be included in the program cache key.
|
|
233
|
+
* This allows different objects sharing the same material to have different shader programs.
|
|
234
|
+
*
|
|
235
|
+
* Defines affect shader compilation and are useful for enabling/disabling features per-object.
|
|
236
|
+
*
|
|
237
|
+
* @param name The define name (e.g., "USE_LIGHTMAP", "ENABLE_REFLECTIONS")
|
|
238
|
+
* @param value The define value (typically a boolean, number, or string)
|
|
239
|
+
*
|
|
240
|
+
* @example
|
|
241
|
+
* ```typescript
|
|
242
|
+
* // Enable a feature for this specific object
|
|
243
|
+
* block.setDefine("USE_CUSTOM_SHADER", true);
|
|
244
|
+
* block.setDefine("QUALITY_LEVEL", 2);
|
|
245
|
+
* ```
|
|
121
246
|
*/
|
|
122
247
|
setDefine(name, value) {
|
|
123
248
|
this._defines[name] = value;
|
|
124
249
|
}
|
|
125
250
|
/**
|
|
126
251
|
* Remove a shader define
|
|
252
|
+
* @param name The define name to remove
|
|
127
253
|
*/
|
|
128
254
|
clearDefine(name) {
|
|
129
255
|
this._defines[name] = undefined;
|
|
130
256
|
}
|
|
131
257
|
/**
|
|
132
258
|
* Get all defines set on this property block
|
|
259
|
+
* @returns A readonly record of all defines
|
|
133
260
|
*/
|
|
134
261
|
getDefines() {
|
|
135
262
|
return this._defines;
|
|
136
263
|
}
|
|
264
|
+
/**
|
|
265
|
+
* Generates a cache key based on the current overrides and defines.
|
|
266
|
+
* This key is used internally to ensure correct shader program selection
|
|
267
|
+
* when objects share materials but have different property blocks.
|
|
268
|
+
*
|
|
269
|
+
* @returns A string representing the current state of this property block
|
|
270
|
+
* @internal
|
|
271
|
+
*/
|
|
137
272
|
getCacheKey() {
|
|
138
273
|
const parts = [];
|
|
139
274
|
// Add defines to cache key
|
|
@@ -179,9 +314,20 @@ export class MaterialPropertyBlock {
|
|
|
179
314
|
return parts.join(";");
|
|
180
315
|
}
|
|
181
316
|
}
|
|
317
|
+
/**
|
|
318
|
+
* Symbol used to store original material values on the material object
|
|
319
|
+
* @internal
|
|
320
|
+
*/
|
|
182
321
|
const $originalValues = Symbol("originalValues");
|
|
322
|
+
/**
|
|
323
|
+
* Symbol used to store saved texture transforms on the material object
|
|
324
|
+
* @internal
|
|
325
|
+
*/
|
|
183
326
|
const $savedTextureTransforms = Symbol("savedTextureTransforms");
|
|
184
|
-
|
|
327
|
+
/**
|
|
328
|
+
* Collect all materials from an object and its children
|
|
329
|
+
* @internal
|
|
330
|
+
*/
|
|
185
331
|
function collectMaterials(object, materials) {
|
|
186
332
|
const obj = object;
|
|
187
333
|
if (obj.material) {
|
|
@@ -197,8 +343,14 @@ function collectMaterials(object, materials) {
|
|
|
197
343
|
object.children.forEach(child => collectMaterials(child, materials));
|
|
198
344
|
}
|
|
199
345
|
}
|
|
200
|
-
|
|
201
|
-
|
|
346
|
+
/**
|
|
347
|
+
* Find property block by checking this object and parent (if parent is a Group).
|
|
348
|
+
* Returns both the block and the owner object.
|
|
349
|
+
*
|
|
350
|
+
* @param obj The object to search from
|
|
351
|
+
* @returns The property block and its owner object, or undefined if not found
|
|
352
|
+
* @internal
|
|
353
|
+
*/
|
|
202
354
|
function findPropertyBlockAndOwner(obj) {
|
|
203
355
|
// First check if this object itself has a property block
|
|
204
356
|
let block = registry.getBlock(obj);
|
|
@@ -212,17 +364,94 @@ function findPropertyBlockAndOwner(obj) {
|
|
|
212
364
|
}
|
|
213
365
|
return undefined;
|
|
214
366
|
}
|
|
367
|
+
/**
|
|
368
|
+
* Symbol to track which materials are currently being rendered for an object
|
|
369
|
+
* @internal
|
|
370
|
+
*/
|
|
371
|
+
const currentlyRenderingFlag = Symbol("beforeRenderingFlag");
|
|
372
|
+
/**
|
|
373
|
+
* Tracks original transparent values that were changed during render list building
|
|
374
|
+
* @internal
|
|
375
|
+
*/
|
|
376
|
+
const beforeRenderListTransparentChanged = new WeakMap();
|
|
377
|
+
/**
|
|
378
|
+
* Tracks original transmission values that were changed during render list building
|
|
379
|
+
* @internal
|
|
380
|
+
*/
|
|
381
|
+
const beforeRenderListTransparentChangedTransmission = new WeakMap();
|
|
382
|
+
/**
|
|
383
|
+
* Callback invoked before an object is added to the render list.
|
|
384
|
+
* Used to temporarily override transparency/transmission for correct render list assignment.
|
|
385
|
+
* @internal
|
|
386
|
+
*/
|
|
387
|
+
const onBeforeRenderListPush = function (_object, _geometry, material, _group) {
|
|
388
|
+
const block = registry.getBlock(_object);
|
|
389
|
+
if (!block) {
|
|
390
|
+
return;
|
|
391
|
+
}
|
|
392
|
+
if (block.hasOverrides()) {
|
|
393
|
+
const transmission = block.getOverride("transmission")?.value;
|
|
394
|
+
const transparent = block.getOverride("transparent")?.value;
|
|
395
|
+
if (transmission !== undefined && typeof transmission === "number" && "transmission" in material && transmission !== material.transmission) {
|
|
396
|
+
beforeRenderListTransparentChangedTransmission.set(this, material.transmission);
|
|
397
|
+
material.transmission = transmission;
|
|
398
|
+
}
|
|
399
|
+
if (transparent !== undefined && typeof transparent === "boolean" && transparent !== material.transparent) {
|
|
400
|
+
beforeRenderListTransparentChanged.set(this, material.transparent);
|
|
401
|
+
material.transparent = transparent;
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
};
|
|
405
|
+
/**
|
|
406
|
+
* Callback invoked after an object is added to the render list.
|
|
407
|
+
* Restores the original transparency/transmission values that were overridden in onBeforeRenderListPush.
|
|
408
|
+
* @internal
|
|
409
|
+
*/
|
|
410
|
+
const onAfterRenderListPush = function (_object, _geometry, material, _group) {
|
|
411
|
+
const prevTransparent = beforeRenderListTransparentChanged.get(_object);
|
|
412
|
+
if (prevTransparent !== undefined) {
|
|
413
|
+
beforeRenderListTransparentChanged.delete(_object);
|
|
414
|
+
material.transparent = prevTransparent;
|
|
415
|
+
}
|
|
416
|
+
const prevTransmission = beforeRenderListTransparentChangedTransmission.get(_object);
|
|
417
|
+
if (prevTransmission !== undefined) {
|
|
418
|
+
beforeRenderListTransparentChangedTransmission.delete(_object);
|
|
419
|
+
material.transmission = prevTransmission;
|
|
420
|
+
}
|
|
421
|
+
};
|
|
215
422
|
// #region OnBeforeRender
|
|
423
|
+
/**
|
|
424
|
+
* Main callback invoked before rendering an object.
|
|
425
|
+
* Applies property block overrides and defines to the material.
|
|
426
|
+
* @internal
|
|
427
|
+
*/
|
|
216
428
|
const onBeforeRender_MaterialBlock = function (_renderer, _scene, _camera, _geometry, material, _group) {
|
|
429
|
+
// Only run if the material belongs to this object and is a "regular" material (not depth or other override material)
|
|
430
|
+
const materials = this.material;
|
|
431
|
+
if (!materials)
|
|
432
|
+
return;
|
|
433
|
+
if (Array.isArray(materials)) {
|
|
434
|
+
if (!materials.includes(material))
|
|
435
|
+
return;
|
|
436
|
+
}
|
|
437
|
+
else if (materials !== material) {
|
|
438
|
+
return;
|
|
439
|
+
}
|
|
440
|
+
// Keep track of which materials rendering started for so we can check in onAfterRender if it was processed
|
|
441
|
+
// (in case of override materials like depth material where onBeforeRender runs but we don't want to apply overrides)
|
|
442
|
+
if (this[currentlyRenderingFlag] === undefined)
|
|
443
|
+
this[currentlyRenderingFlag] = new WeakSet();
|
|
444
|
+
this[currentlyRenderingFlag].add(material);
|
|
445
|
+
// Before rendering, check if this object (or its parent Group) has a property block with overrides for this material.
|
|
217
446
|
const result = findPropertyBlockAndOwner(this);
|
|
218
447
|
if (!result) {
|
|
219
448
|
return;
|
|
220
449
|
}
|
|
221
450
|
const { block: propertyBlock, owner } = result;
|
|
222
451
|
// Only apply if this material was registered with this property block
|
|
223
|
-
if (!registry.hasMaterial(owner, material)) {
|
|
224
|
-
|
|
225
|
-
}
|
|
452
|
+
// if (!registry.hasMaterial(owner, material)) {
|
|
453
|
+
// return;
|
|
454
|
+
// }
|
|
226
455
|
const overrides = propertyBlock.overrides;
|
|
227
456
|
const mat = material;
|
|
228
457
|
// Apply defines to material - this affects shader compilation
|
|
@@ -297,16 +526,27 @@ const onBeforeRender_MaterialBlock = function (_renderer, _scene, _camera, _geom
|
|
|
297
526
|
mat._forceRefresh = true;
|
|
298
527
|
};
|
|
299
528
|
// #region OnAfterRender
|
|
529
|
+
/**
|
|
530
|
+
* Main callback invoked after rendering an object.
|
|
531
|
+
* Restores the original material property values and defines.
|
|
532
|
+
* @internal
|
|
533
|
+
*/
|
|
300
534
|
const onAfterRender_MaterialBlock = function (_renderer, _scene, _camera, _geometry, material, _group) {
|
|
535
|
+
// We don't want to run this logic if onBeforeRender didn't run for this material (e.g. due to DepthMaterial or other override material), so we check the flag set in onBeforeRender
|
|
536
|
+
if (this[currentlyRenderingFlag] === undefined)
|
|
537
|
+
return;
|
|
538
|
+
if (!this[currentlyRenderingFlag].has(material))
|
|
539
|
+
return;
|
|
540
|
+
this[currentlyRenderingFlag].delete(material);
|
|
301
541
|
const result = findPropertyBlockAndOwner(this);
|
|
302
542
|
if (!result) {
|
|
303
543
|
return;
|
|
304
544
|
}
|
|
305
545
|
const { block: propertyBlock, owner } = result;
|
|
306
546
|
// Only restore if this material was registered with this property block
|
|
307
|
-
if (!registry.hasMaterial(owner, material)) {
|
|
308
|
-
|
|
309
|
-
}
|
|
547
|
+
// if (!registry.hasMaterial(owner, material)) {
|
|
548
|
+
// return;
|
|
549
|
+
// }
|
|
310
550
|
const overrides = propertyBlock.overrides;
|
|
311
551
|
const mat = material;
|
|
312
552
|
const originalValues = mat[$originalValues];
|
|
@@ -359,11 +599,17 @@ const onAfterRender_MaterialBlock = function (_renderer, _scene, _camera, _geome
|
|
|
359
599
|
mat._forceRefresh = true;
|
|
360
600
|
};
|
|
361
601
|
// #region Attach Callbacks
|
|
602
|
+
/**
|
|
603
|
+
* Attaches the property block render callbacks to an object and its child meshes.
|
|
604
|
+
* @param object The object to attach callbacks to
|
|
605
|
+
* @param _propertyBlock The property block being attached (unused but kept for clarity)
|
|
606
|
+
* @internal
|
|
607
|
+
*/
|
|
362
608
|
function attachPropertyBlockToObject(object, _propertyBlock) {
|
|
363
609
|
// Collect and register all materials that belong to this property block
|
|
364
|
-
const materials = new Set();
|
|
365
|
-
collectMaterials(object, materials);
|
|
366
|
-
materials.forEach(mat => registry.addMaterial(object, mat));
|
|
610
|
+
// const materials = new Set<Material>();
|
|
611
|
+
// collectMaterials(object, materials);
|
|
612
|
+
// materials.forEach(mat => registry.addMaterial(object, mat));
|
|
367
613
|
// Attach callbacks to renderable objects (Mesh, SkinnedMesh)
|
|
368
614
|
// Groups don't render themselves but we still need to handle child meshes
|
|
369
615
|
if (object.type === "Group") {
|
|
@@ -377,6 +623,13 @@ function attachPropertyBlockToObject(object, _propertyBlock) {
|
|
|
377
623
|
attachCallbacksToMesh(object, object);
|
|
378
624
|
}
|
|
379
625
|
}
|
|
626
|
+
/**
|
|
627
|
+
* Attaches render callbacks to a specific mesh object.
|
|
628
|
+
* Chains with existing callbacks if they exist.
|
|
629
|
+
* @param mesh The mesh to attach callbacks to
|
|
630
|
+
* @param propertyBlockOwner The object that owns the property block (may be the mesh itself or its parent Group)
|
|
631
|
+
* @internal
|
|
632
|
+
*/
|
|
380
633
|
function attachCallbacksToMesh(mesh, propertyBlockOwner) {
|
|
381
634
|
// Check if this specific mesh already has our callbacks attached for this property block owner
|
|
382
635
|
if (registry.isHooked(mesh, propertyBlockOwner)) {
|
|
@@ -404,8 +657,25 @@ function attachCallbacksToMesh(mesh, propertyBlockOwner) {
|
|
|
404
657
|
original.call(this, renderer, scene, camera, geometry, material, group);
|
|
405
658
|
};
|
|
406
659
|
}
|
|
660
|
+
/** @ts-ignore patched in three.js */
|
|
661
|
+
mesh.onBeforeRenderListPush = onBeforeRenderListPush;
|
|
662
|
+
/** @ts-ignore patched in three.js */
|
|
663
|
+
mesh.onAfterRenderListPush = onAfterRenderListPush;
|
|
407
664
|
}
|
|
408
665
|
//#endregion
|
|
666
|
+
/**
|
|
667
|
+
* Checks if an object has a MaterialPropertyBlock attached to it.
|
|
668
|
+
*
|
|
669
|
+
* @param object The object to check
|
|
670
|
+
* @returns True if the object has a property block registered
|
|
671
|
+
*
|
|
672
|
+
* @example
|
|
673
|
+
* ```typescript
|
|
674
|
+
* if (objectHasPropertyBlock(myMesh)) {
|
|
675
|
+
* console.log("This mesh has property overrides");
|
|
676
|
+
* }
|
|
677
|
+
* ```
|
|
678
|
+
*/
|
|
409
679
|
export function objectHasPropertyBlock(object) {
|
|
410
680
|
return registry.getBlock(object) !== undefined;
|
|
411
681
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine_materialpropertyblock.js","sourceRoot":"","sources":["../../src/engine/engine_materialpropertyblock.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"engine_materialpropertyblock.js","sourceRoot":"","sources":["../../src/engine/engine_materialpropertyblock.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Camera.js","sourceRoot":"","sources":["../../src/engine-components/Camera.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Camera.js","sourceRoot":"","sources":["../../src/engine-components/Camera.ts"],"names":[],"mappings":"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"}
|