three-stdlib 2.23.10 → 2.23.12

Sign up to get free protection for your applications and to get access to all the features.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "three-stdlib",
3
- "version": "2.23.10",
3
+ "version": "2.23.12",
4
4
  "description": "stand-alone library of threejs examples",
5
5
  "keywords": [
6
6
  "three",
@@ -8,7 +8,13 @@ export interface RenderPixelatedPassParameters {
8
8
  }
9
9
 
10
10
  export class RenderPixelatedPass extends Pass {
11
- constructor(pixelSize: number, scene: Scene, camera: Camera, options?: RenderPixelatedPassParameters)
11
+ constructor(
12
+ resolution: Vector2,
13
+ pixelSize: number,
14
+ scene: Scene,
15
+ camera: Camera,
16
+ options?: RenderPixelatedPassParameters,
17
+ )
12
18
  pixelSize: number
13
19
  resolution: Vector2
14
20
  renderResolution: Vector2
@@ -23,6 +29,6 @@ export class RenderPixelatedPass extends Pass {
23
29
  normalEdgeStrength: RenderPixelatedPassParameters['normalEdgeStrength']
24
30
  depthEdgeStrength: RenderPixelatedPassParameters['depthEdgeStrength']
25
31
 
26
- beautyRenderTarget: WebGLRenderTarget
32
+ rgbRenderTarget: WebGLRenderTarget
27
33
  normalRenderTarget: WebGLRenderTarget
28
34
  }
@@ -578,7 +578,7 @@ function toCreasedNormals(geometry, creaseAngle = Math.PI / 3) {
578
578
  const z = ~~(v.z * hashMultiplier);
579
579
  return `${x},${y},${z}`;
580
580
  }
581
- const resultGeometry = geometry.toNonIndexed();
581
+ const resultGeometry = geometry.index ? geometry.toNonIndexed() : geometry;
582
582
  const posAttr = resultGeometry.attributes.position;
583
583
  const vertexMap = {};
584
584
  for (let i = 0, l = posAttr.count / 3; i < l; i++) {
@@ -45,4 +45,19 @@ export type ComputedMorphedAttribute = {
45
45
  morphedNormalAttribute: Float32BufferAttribute;
46
46
  };
47
47
  export declare function computeMorphedAttributes(object: Mesh | Line | Points): ComputedMorphedAttribute | null;
48
+ /**
49
+ * Modifies the supplied geometry if it is non-indexed, otherwise creates a new,
50
+ * non-indexed geometry. Returns the geometry with smooth normals everywhere except
51
+ * faces that meet at an angle greater than the crease angle.
52
+ *
53
+ * Backwards compatible with code such as @react-three/drei's `<RoundedBox>`
54
+ * which uses this method to operate on the original geometry.
55
+ *
56
+ * As of this writing, BufferGeometry.toNonIndexed() warns if the geometry is
57
+ * non-indexed and returns `this`, i.e. the same geometry on which it was called:
58
+ * `BufferGeometry is already non-indexed.`
59
+ *
60
+ * @param geometry
61
+ * @param creaseAngle
62
+ */
48
63
  export declare function toCreasedNormals(geometry: BufferGeometry, creaseAngle?: number): BufferGeometry;
@@ -576,7 +576,7 @@ function toCreasedNormals(geometry, creaseAngle = Math.PI / 3) {
576
576
  const z = ~~(v.z * hashMultiplier);
577
577
  return `${x},${y},${z}`;
578
578
  }
579
- const resultGeometry = geometry.toNonIndexed();
579
+ const resultGeometry = geometry.index ? geometry.toNonIndexed() : geometry;
580
580
  const posAttr = resultGeometry.attributes.position;
581
581
  const vertexMap = {};
582
582
  for (let i = 0, l = posAttr.count / 3; i < l; i++) {