@ifc-lite/renderer 1.9.0 → 1.11.0

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/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/picker.js CHANGED
@@ -76,7 +76,7 @@ export class Picker {
76
76
  entryPoint: 'vs_main',
77
77
  buffers: [
78
78
  {
79
- arrayStride: 24,
79
+ arrayStride: 28,
80
80
  attributes: [
81
81
  { shaderLocation: 0, offset: 0, format: 'float32x3' },
82
82
  { shaderLocation: 1, offset: 12, format: 'float32x3' },
@@ -1 +1 @@
1
- {"version":3,"file":"picking-manager.d.ts","sourceRoot":"","sources":["../src/picking-manager.ts"],"names":[],"mappings":"AAIA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE1D,qBAAa,cAAc;IACvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,eAAe,CAAkB;gBAGrC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,MAAM,EAAE,iBAAiB,EACzB,eAAe,EAAE,eAAe;IASpC;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAItC;;;;;;;OAOG;IACG,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;CAoHtF"}
1
+ {"version":3,"file":"picking-manager.d.ts","sourceRoot":"","sources":["../src/picking-manager.ts"],"names":[],"mappings":"AAIA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE1D,qBAAa,cAAc;IACvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,eAAe,CAAkB;gBAGrC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,MAAM,EAAE,iBAAiB,EACzB,eAAe,EAAE,eAAe;IASpC;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAItC;;;;;;;OAOG;IACG,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;CA8HtF"}
@@ -60,26 +60,37 @@ export class PickingManager {
60
60
  expressIds.add(expressId);
61
61
  }
62
62
  }
63
- // Track existing meshes by (expressId:modelIndex) for multi-model support
64
- // This handles expressId collisions (e.g., door #535 in model 0 vs beam #535 in model 1)
65
- const existingMeshKeys = new Set(meshes.map(m => `${m.expressId}:${m.modelIndex ?? 'any'}`));
66
- // Count how many meshes we'd need to create for full GPU picking
67
- // For multi-model, count all pieces with unique (expressId, modelIndex) pairs
68
- let toCreate = 0;
63
+ // Track how many individual mesh pieces already exist for each (expressId:modelIndex).
64
+ // Multi-piece elements (windows/doors with submeshes) need all pieces for reliable picking.
65
+ const existingPieceCounts = new Map();
66
+ for (const mesh of meshes) {
67
+ const key = `${mesh.expressId}:${mesh.modelIndex ?? 'any'}`;
68
+ existingPieceCounts.set(key, (existingPieceCounts.get(key) ?? 0) + 1);
69
+ }
70
+ // Build required piece counts from MeshData for all visible entities.
71
+ const requiredPieceCounts = new Map();
72
+ const visibleExpressIds = [];
69
73
  for (const expressId of expressIds) {
70
74
  if (options?.hiddenIds?.has(expressId))
71
75
  continue;
72
76
  if (options?.isolatedIds !== null && options?.isolatedIds !== undefined && !options.isolatedIds.has(expressId))
73
77
  continue;
74
- // Get all pieces for this expressId (handles multi-model)
78
+ visibleExpressIds.push(expressId);
75
79
  const pieces = this.scene.getMeshDataPieces(expressId);
76
- if (pieces) {
77
- for (const piece of pieces) {
78
- const meshKey = `${expressId}:${piece.modelIndex ?? 'any'}`;
79
- if (!existingMeshKeys.has(meshKey)) {
80
- toCreate++;
81
- }
82
- }
80
+ if (!pieces)
81
+ continue;
82
+ for (const piece of pieces) {
83
+ const key = `${piece.expressId}:${piece.modelIndex ?? 'any'}`;
84
+ requiredPieceCounts.set(key, (requiredPieceCounts.get(key) ?? 0) + 1);
85
+ }
86
+ }
87
+ // Count how many meshes we'd need to create for full GPU picking
88
+ // For multi-model and multi-piece elements, count missing piece instances per key.
89
+ let toCreate = 0;
90
+ for (const [key, requiredCount] of requiredPieceCounts) {
91
+ const existingCount = existingPieceCounts.get(key) ?? 0;
92
+ if (requiredCount > existingCount) {
93
+ toCreate += requiredCount - existingCount;
83
94
  }
84
95
  }
85
96
  // PERFORMANCE FIX: Use CPU raycasting for large models instead of creating GPU meshes
@@ -101,23 +112,20 @@ export class PickingManager {
101
112
  // For smaller models, create GPU meshes for picking
102
113
  // Only create meshes for VISIBLE elements (not hidden, and either no isolation or in isolated set)
103
114
  // For multi-model support: create meshes for ALL (expressId, modelIndex) pairs
104
- for (const expressId of expressIds) {
105
- // Skip if hidden
106
- if (options?.hiddenIds?.has(expressId))
107
- continue;
108
- // Skip if isolation is active and this entity is not isolated
109
- if (options?.isolatedIds !== null && options?.isolatedIds !== undefined && !options.isolatedIds.has(expressId))
110
- continue;
111
- // Get all pieces for this expressId (handles multi-model)
115
+ const baselineExistingCounts = new Map(existingPieceCounts);
116
+ const seenOrdinalsByKey = new Map();
117
+ for (const expressId of visibleExpressIds) {
112
118
  const pieces = this.scene.getMeshDataPieces(expressId);
113
119
  if (pieces) {
114
120
  for (const piece of pieces) {
115
121
  const meshKey = `${piece.expressId}:${piece.modelIndex ?? 'any'}`;
116
- // Skip if mesh already exists for this (expressId, modelIndex) pair
117
- if (existingMeshKeys.has(meshKey))
122
+ const ordinal = seenOrdinalsByKey.get(meshKey) ?? 0;
123
+ seenOrdinalsByKey.set(meshKey, ordinal + 1);
124
+ const baselineExisting = baselineExistingCounts.get(meshKey) ?? 0;
125
+ // Assume existing pieces correspond to the first N pieces in stable order.
126
+ if (ordinal < baselineExisting)
118
127
  continue;
119
128
  this.geometryManager.createMeshFromData(piece);
120
- existingMeshKeys.add(meshKey);
121
129
  }
122
130
  }
123
131
  }
@@ -1 +1 @@
1
- {"version":3,"file":"picking-manager.js","sourceRoot":"","sources":["../src/picking-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"picking-manager.js","sourceRoot":"","sources":["../src/picking-manager.ts"],"names":[],"mappings":"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"}
@@ -11,8 +11,11 @@ export declare class RenderPipeline {
11
11
  private overlayPipeline;
12
12
  private depthTexture;
13
13
  private depthTextureView;
14
+ private objectIdTexture;
15
+ private objectIdTextureView;
14
16
  private depthFormat;
15
17
  private colorFormat;
18
+ private objectIdFormat;
16
19
  private multisampleTexture;
17
20
  private multisampleTextureView;
18
21
  private sampleCount;
@@ -46,6 +49,7 @@ export declare class RenderPipeline {
46
49
  getTransparentPipeline(): GPURenderPipeline;
47
50
  getOverlayPipeline(): GPURenderPipeline;
48
51
  getDepthTextureView(): GPUTextureView;
52
+ getObjectIdTextureView(): GPUTextureView;
49
53
  /**
50
54
  * Get multisample texture view (for MSAA rendering)
51
55
  */
@@ -69,6 +73,7 @@ export declare class InstancedRenderPipeline {
69
73
  private depthTextureView;
70
74
  private uniformBuffer;
71
75
  private colorFormat;
76
+ private objectIdFormat;
72
77
  private currentHeight;
73
78
  constructor(device: WebGPUDevice, width?: number, height?: number);
74
79
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"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"}
package/dist/pipeline.js CHANGED
@@ -10,8 +10,11 @@ export class RenderPipeline {
10
10
  overlayPipeline; // Pipeline for color overlays (lens) - renders at exact same depth
11
11
  depthTexture;
12
12
  depthTextureView;
13
+ objectIdTexture;
14
+ objectIdTextureView;
13
15
  depthFormat = 'depth24plus';
14
16
  colorFormat;
17
+ objectIdFormat = 'rgba8unorm';
15
18
  multisampleTexture = null;
16
19
  multisampleTextureView = null;
17
20
  sampleCount = 4; // MSAA sample count
@@ -34,10 +37,17 @@ export class RenderPipeline {
34
37
  this.depthTexture = this.device.createTexture({
35
38
  size: { width, height },
36
39
  format: 'depth24plus',
37
- usage: GPUTextureUsage.RENDER_ATTACHMENT,
40
+ usage: GPUTextureUsage.RENDER_ATTACHMENT | GPUTextureUsage.TEXTURE_BINDING,
38
41
  sampleCount: this.sampleCount > 1 ? this.sampleCount : 1,
39
42
  });
40
43
  this.depthTextureView = this.depthTexture.createView();
44
+ this.objectIdTexture = this.device.createTexture({
45
+ size: { width, height },
46
+ format: this.objectIdFormat,
47
+ usage: GPUTextureUsage.RENDER_ATTACHMENT | GPUTextureUsage.TEXTURE_BINDING,
48
+ sampleCount: this.sampleCount > 1 ? this.sampleCount : 1,
49
+ });
50
+ this.objectIdTextureView = this.objectIdTexture.createView();
41
51
  // Create multisample color texture for MSAA
42
52
  if (this.sampleCount > 1) {
43
53
  this.multisampleTexture = this.device.createTexture({
@@ -76,20 +86,21 @@ export class RenderPipeline {
76
86
  metallicRoughness: vec2<f32>, // x = metallic, y = roughness
77
87
  _padding1: vec2<f32>,
78
88
  sectionPlane: vec4<f32>, // xyz = plane normal, w = plane distance
79
- flags: vec4<u32>, // x = isSelected, y = sectionEnabled, z,w = reserved
89
+ flags: vec4<u32>, // x = isSelected, y = sectionEnabled, z = edgeEnabled, w = edgeIntensityMilli
80
90
  }
81
91
  @binding(0) @group(0) var<uniform> uniforms: Uniforms;
82
92
 
83
93
  struct VertexInput {
84
94
  @location(0) position: vec3<f32>,
85
95
  @location(1) normal: vec3<f32>,
96
+ @location(2) entityId: u32,
86
97
  }
87
98
 
88
99
  struct VertexOutput {
89
100
  @builtin(position) position: vec4<f32>,
90
101
  @location(0) worldPos: vec3<f32>,
91
102
  @location(1) normal: vec3<f32>,
92
- @location(2) @interpolate(flat) objectId: u32,
103
+ @location(2) @interpolate(flat) entityId: u32,
93
104
  @location(3) viewPos: vec3<f32>, // For edge detection
94
105
  }
95
106
 
@@ -100,7 +111,7 @@ export class RenderPipeline {
100
111
  output.position = uniforms.viewProj * worldPos;
101
112
  output.worldPos = worldPos.xyz;
102
113
  output.normal = normalize((uniforms.model * vec4<f32>(input.normal, 0.0)).xyz);
103
- output.objectId = instanceIndex;
114
+ output.entityId = input.entityId;
104
115
  // Store view-space position for edge detection
105
116
  output.viewPos = (uniforms.viewProj * worldPos).xyz;
106
117
  return output;
@@ -135,8 +146,20 @@ export class RenderPipeline {
135
146
  return ggx1 * ggx2;
136
147
  }
137
148
 
149
+ fn encodeId24(id: u32) -> vec4<f32> {
150
+ let r = f32((id >> 16u) & 255u) / 255.0;
151
+ let g = f32((id >> 8u) & 255u) / 255.0;
152
+ let b = f32(id & 255u) / 255.0;
153
+ return vec4<f32>(r, g, b, 1.0);
154
+ }
155
+
156
+ struct FragmentOutput {
157
+ @location(0) color: vec4<f32>,
158
+ @location(1) objectIdEncoded: vec4<f32>,
159
+ }
160
+
138
161
  @fragment
139
- fn fs_main(input: VertexOutput) -> @location(0) vec4<f32> {
162
+ fn fs_main(input: VertexOutput) -> FragmentOutput {
140
163
  // Section plane clipping - discard fragments ABOVE the plane
141
164
  // For Down axis (normal +Y), keeps everything below cut height (look down into building)
142
165
  if (uniforms.flags.y == 1u) {
@@ -258,14 +281,21 @@ export class RenderPipeline {
258
281
  length(dpdy(input.normal))
259
282
  ));
260
283
 
261
- let edgeFactor = smoothstep(0.0, 0.1, depthGradient * 10.0 + normalGradient * 5.0);
262
- let edgeDarken = mix(1.0, 0.92, edgeFactor * 0.4); // Slightly stronger edge darkening
263
- color *= edgeDarken;
284
+ if (uniforms.flags.z == 1u) {
285
+ let edgeFactor = smoothstep(0.0, 0.1, depthGradient * 10.0 + normalGradient * 5.0);
286
+ let edgeIntensity = f32(uniforms.flags.w) / 1000.0;
287
+ let edgeDarkenStrength = clamp(0.25 * edgeIntensity, 0.0, 0.85);
288
+ let edgeDarken = mix(1.0, 1.0 - edgeDarkenStrength, edgeFactor);
289
+ color *= edgeDarken;
290
+ }
264
291
 
265
292
  // Gamma correction
266
293
  color = pow(color, vec3<f32>(1.0 / 2.2));
267
294
 
268
- return vec4<f32>(color, finalAlpha);
295
+ var out: FragmentOutput;
296
+ out.color = vec4<f32>(color, finalAlpha);
297
+ out.objectIdEncoded = encodeId24(input.entityId);
298
+ return out;
269
299
  }
270
300
  `,
271
301
  });
@@ -281,10 +311,11 @@ export class RenderPipeline {
281
311
  entryPoint: 'vs_main',
282
312
  buffers: [
283
313
  {
284
- arrayStride: 24, // 6 floats * 4 bytes
314
+ arrayStride: 28, // 7 floats * 4 bytes
285
315
  attributes: [
286
316
  { shaderLocation: 0, offset: 0, format: 'float32x3' }, // position
287
317
  { shaderLocation: 1, offset: 12, format: 'float32x3' }, // normal
318
+ { shaderLocation: 2, offset: 24, format: 'uint32' }, // expressId
288
319
  ],
289
320
  },
290
321
  ],
@@ -292,7 +323,7 @@ export class RenderPipeline {
292
323
  fragment: {
293
324
  module: shaderModule,
294
325
  entryPoint: 'fs_main',
295
- targets: [{ format: this.colorFormat }],
326
+ targets: [{ format: this.colorFormat }, { format: 'rgba8unorm' }],
296
327
  },
297
328
  primitive: {
298
329
  topology: 'triangle-list',
@@ -317,10 +348,11 @@ export class RenderPipeline {
317
348
  entryPoint: 'vs_main',
318
349
  buffers: [
319
350
  {
320
- arrayStride: 24,
351
+ arrayStride: 28,
321
352
  attributes: [
322
353
  { shaderLocation: 0, offset: 0, format: 'float32x3' },
323
354
  { shaderLocation: 1, offset: 12, format: 'float32x3' },
355
+ { shaderLocation: 2, offset: 24, format: 'uint32' },
324
356
  ],
325
357
  },
326
358
  ],
@@ -328,7 +360,7 @@ export class RenderPipeline {
328
360
  fragment: {
329
361
  module: shaderModule,
330
362
  entryPoint: 'fs_main',
331
- targets: [{ format: this.colorFormat }],
363
+ targets: [{ format: this.colorFormat }, { format: 'rgba8unorm' }],
332
364
  },
333
365
  primitive: {
334
366
  topology: 'triangle-list',
@@ -355,10 +387,11 @@ export class RenderPipeline {
355
387
  entryPoint: 'vs_main',
356
388
  buffers: [
357
389
  {
358
- arrayStride: 24,
390
+ arrayStride: 28,
359
391
  attributes: [
360
392
  { shaderLocation: 0, offset: 0, format: 'float32x3' },
361
393
  { shaderLocation: 1, offset: 12, format: 'float32x3' },
394
+ { shaderLocation: 2, offset: 24, format: 'uint32' },
362
395
  ],
363
396
  },
364
397
  ],
@@ -378,7 +411,7 @@ export class RenderPipeline {
378
411
  dstFactor: 'one-minus-src-alpha',
379
412
  },
380
413
  },
381
- }],
414
+ }, { format: this.objectIdFormat }],
382
415
  },
383
416
  primitive: {
384
417
  topology: 'triangle-list',
@@ -406,10 +439,11 @@ export class RenderPipeline {
406
439
  entryPoint: 'vs_main',
407
440
  buffers: [
408
441
  {
409
- arrayStride: 24,
442
+ arrayStride: 28,
410
443
  attributes: [
411
444
  { shaderLocation: 0, offset: 0, format: 'float32x3' },
412
445
  { shaderLocation: 1, offset: 12, format: 'float32x3' },
446
+ { shaderLocation: 2, offset: 24, format: 'uint32' },
413
447
  ],
414
448
  },
415
449
  ],
@@ -417,7 +451,7 @@ export class RenderPipeline {
417
451
  fragment: {
418
452
  module: shaderModule,
419
453
  entryPoint: 'fs_main',
420
- targets: [{ format: this.colorFormat }],
454
+ targets: [{ format: this.colorFormat }, { format: 'rgba8unorm' }],
421
455
  },
422
456
  primitive: {
423
457
  topology: 'triangle-list',
@@ -501,13 +535,21 @@ export class RenderPipeline {
501
535
  this.currentWidth = width;
502
536
  this.currentHeight = height;
503
537
  this.depthTexture.destroy();
538
+ this.objectIdTexture.destroy();
504
539
  this.depthTexture = this.device.createTexture({
505
540
  size: { width, height },
506
541
  format: this.depthFormat,
507
- usage: GPUTextureUsage.RENDER_ATTACHMENT,
542
+ usage: GPUTextureUsage.RENDER_ATTACHMENT | GPUTextureUsage.TEXTURE_BINDING,
508
543
  sampleCount: this.sampleCount > 1 ? this.sampleCount : 1,
509
544
  });
510
545
  this.depthTextureView = this.depthTexture.createView();
546
+ this.objectIdTexture = this.device.createTexture({
547
+ size: { width, height },
548
+ format: this.objectIdFormat,
549
+ usage: GPUTextureUsage.RENDER_ATTACHMENT | GPUTextureUsage.TEXTURE_BINDING,
550
+ sampleCount: this.sampleCount > 1 ? this.sampleCount : 1,
551
+ });
552
+ this.objectIdTextureView = this.objectIdTexture.createView();
511
553
  // Recreate multisample texture
512
554
  if (this.multisampleTexture) {
513
555
  this.multisampleTexture.destroy();
@@ -541,6 +583,9 @@ export class RenderPipeline {
541
583
  getDepthTextureView() {
542
584
  return this.depthTextureView;
543
585
  }
586
+ getObjectIdTextureView() {
587
+ return this.objectIdTextureView;
588
+ }
544
589
  /**
545
590
  * Get multisample texture view (for MSAA rendering)
546
591
  */
@@ -574,6 +619,7 @@ export class InstancedRenderPipeline {
574
619
  depthTextureView;
575
620
  uniformBuffer;
576
621
  colorFormat;
622
+ objectIdFormat = 'rgba8unorm';
577
623
  currentHeight;
578
624
  constructor(device, width = 1, height = 1) {
579
625
  this.currentHeight = height;
@@ -654,8 +700,20 @@ export class InstancedRenderPipeline {
654
700
  return output;
655
701
  }
656
702
 
703
+ fn encodeId24(id: u32) -> vec4<f32> {
704
+ let r = f32((id >> 16u) & 255u) / 255.0;
705
+ let g = f32((id >> 8u) & 255u) / 255.0;
706
+ let b = f32(id & 255u) / 255.0;
707
+ return vec4<f32>(r, g, b, 1.0);
708
+ }
709
+
710
+ struct FragmentOutput {
711
+ @location(0) color: vec4<f32>,
712
+ @location(1) objectIdEncoded: vec4<f32>,
713
+ }
714
+
657
715
  @fragment
658
- fn fs_main(input: VertexOutput) -> @location(0) vec4<f32> {
716
+ fn fs_main(input: VertexOutput) -> FragmentOutput {
659
717
  // Section plane clipping - discard fragments ABOVE the plane
660
718
  // For Down axis (normal +Y), keeps everything below cut height (look down into building)
661
719
  if (uniforms.flags.x == 1u) {
@@ -775,7 +833,12 @@ export class InstancedRenderPipeline {
775
833
  // Gamma correction
776
834
  color = pow(color, vec3<f32>(1.0 / 2.2));
777
835
 
778
- return vec4<f32>(color, finalAlpha);
836
+ var out: FragmentOutput;
837
+ out.color = vec4<f32>(color, finalAlpha);
838
+ // Not expressId-accurate for instanced path, but still provides
839
+ // per-instance boundaries for seam detection.
840
+ out.objectIdEncoded = encodeId24(input.instanceId + 1u);
841
+ return out;
779
842
  }
780
843
  `,
781
844
  });
@@ -798,7 +861,7 @@ export class InstancedRenderPipeline {
798
861
  fragment: {
799
862
  module: shaderModule,
800
863
  entryPoint: 'fs_main',
801
- targets: [{ format: this.colorFormat }],
864
+ targets: [{ format: this.colorFormat }, { format: this.objectIdFormat }],
802
865
  },
803
866
  primitive: {
804
867
  topology: 'triangle-list',