@takram/three-clouds 0.5.0 → 0.5.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@takram/three-clouds",
3
- "version": "0.5.0",
3
+ "version": "0.5.1",
4
4
  "description": "A Three.js and R3F implementation of geospatial volumetric clouds",
5
5
  "keywords": [
6
6
  "three",
@@ -22,14 +22,14 @@
22
22
  "type": "module",
23
23
  "exports": {
24
24
  ".": {
25
+ "types": "./types/index.d.ts",
25
26
  "import": "./build/index.js",
26
- "require": "./build/index.cjs",
27
- "types": "./types/index.d.ts"
27
+ "require": "./build/index.cjs"
28
28
  },
29
29
  "./r3f": {
30
+ "types": "./types/r3f/index.d.ts",
30
31
  "import": "./build/r3f.js",
31
- "require": "./build/r3f.cjs",
32
- "types": "./types/r3f/index.d.ts"
32
+ "require": "./build/r3f.cjs"
33
33
  }
34
34
  },
35
35
  "main": "./build/index.cjs",
@@ -45,10 +45,10 @@
45
45
  "README.md"
46
46
  ],
47
47
  "dependencies": {
48
- "@takram/three-atmosphere": "0.14.0",
49
- "@takram/three-geospatial": "0.4.0",
48
+ "@takram/three-atmosphere": "0.15.0",
49
+ "@takram/three-geospatial": "0.5.0",
50
50
  "tiny-invariant": "^1.3.3",
51
- "type-fest": "^4.34.1"
51
+ "type-fest": "^4.41.0"
52
52
  },
53
53
  "peerDependencies": {
54
54
  "@react-three/fiber": ">=9.0.4",
@@ -29,12 +29,12 @@ import {
29
29
  runtime
30
30
  } from '@takram/three-atmosphere/shaders/bruneton'
31
31
  import {
32
- assertType,
33
32
  define,
34
33
  defineExpression,
35
34
  defineFloat,
36
35
  defineInt,
37
36
  Geodetic,
37
+ reinterpretType,
38
38
  resolveIncludes,
39
39
  unrollLoops
40
40
  } from '@takram/three-geospatial'
@@ -63,12 +63,6 @@ import vertexShader from './shaders/clouds.vert?raw'
63
63
  import parameters from './shaders/parameters.glsl?raw'
64
64
  import types from './shaders/types.glsl?raw'
65
65
 
66
- declare module 'three' {
67
- interface Camera {
68
- isPerspectiveCamera?: boolean
69
- }
70
- }
71
-
72
66
  const vectorScratch = /*#__PURE__*/ new Vector3()
73
67
  const geodeticScratch = /*#__PURE__*/ new Geodetic()
74
68
 
@@ -279,14 +273,15 @@ export class CloudsMaterial extends AtmosphereMaterialBase {
279
273
  // Disable onBeforeRender in AtmosphereMaterialBase because we're rendering
280
274
  // into fullscreen quad with another camera for the scene projection.
281
275
 
282
- const prevLogarithmicDepthBuffer = this.defines.USE_LOGDEPTHBUF != null
276
+ const prevLogarithmicDepthBuffer =
277
+ this.defines.USE_LOGARITHMIC_DEPTH_BUFFER != null
283
278
  const nextLogarithmicDepthBuffer =
284
279
  renderer.capabilities.logarithmicDepthBuffer
285
280
  if (nextLogarithmicDepthBuffer !== prevLogarithmicDepthBuffer) {
286
281
  if (nextLogarithmicDepthBuffer) {
287
- this.defines.USE_LOGDEPTHBUF = '1'
282
+ this.defines.USE_LOGARITHMIC_DEPTH_BUFFER = '1'
288
283
  } else {
289
- delete this.defines.USE_LOGDEPTHBUF
284
+ delete this.defines.USE_LOGARITHMIC_DEPTH_BUFFER
290
285
  }
291
286
  }
292
287
 
@@ -316,7 +311,7 @@ export class CloudsMaterial extends AtmosphereMaterialBase {
316
311
  }
317
312
 
318
313
  override copyCameraSettings(camera: Camera): void {
319
- // Intentionally omit the call of super.
314
+ // Intentionally omit the call to super.
320
315
 
321
316
  if (camera.isPerspectiveCamera === true) {
322
317
  if (this.defines.PERSPECTIVE_CAMERA !== '1') {
@@ -376,7 +371,7 @@ export class CloudsMaterial extends AtmosphereMaterialBase {
376
371
  .multiply(inverseViewMatrix)
377
372
  }
378
373
 
379
- assertType<PerspectiveCamera | OrthographicCamera>(camera)
374
+ reinterpretType<PerspectiveCamera | OrthographicCamera>(camera)
380
375
  uniforms.cameraNear.value = camera.near
381
376
  uniforms.cameraFar.value = camera.far
382
377
 
@@ -84,7 +84,7 @@ export class CloudsResolveMaterial extends RawShaderMaterial {
84
84
  this.uniforms.texelSize.value.set(1 / width, 1 / height)
85
85
  }
86
86
 
87
- onBeforeRender(
87
+ override onBeforeRender(
88
88
  renderer: WebGLRenderer,
89
89
  scene: Scene,
90
90
  camera: Camera,
package/src/PassBase.ts CHANGED
@@ -18,11 +18,11 @@ export abstract class PassBase extends Pass {
18
18
  this.shadow = shadow
19
19
  }
20
20
 
21
- get mainCamera(): Camera {
21
+ override get mainCamera(): Camera {
22
22
  return this._mainCamera
23
23
  }
24
24
 
25
- set mainCamera(value: Camera) {
25
+ override set mainCamera(value: Camera) {
26
26
  this._mainCamera = value
27
27
  }
28
28
  }
package/src/ShadowPass.ts CHANGED
@@ -139,7 +139,7 @@ export class ShadowPass extends PassBase {
139
139
  }
140
140
  }
141
141
 
142
- setSize(
142
+ override setSize(
143
143
  width: number,
144
144
  height: number,
145
145
  depth = this.shadow.cascadeCount
@@ -28,12 +28,6 @@
28
28
 
29
29
  import { Vector3, type Camera, type Matrix4 } from 'three'
30
30
 
31
- declare module 'three' {
32
- interface Camera {
33
- isOrthographicCamera?: boolean
34
- }
35
- }
36
-
37
31
  export class FrustumCorners {
38
32
  readonly near = [new Vector3(), new Vector3(), new Vector3(), new Vector3()]
39
33
  readonly far = [new Vector3(), new Vector3(), new Vector3(), new Vector3()]
@@ -1,11 +1,6 @@
1
1
  import { Matrix4, Uniform, Vector2, BufferGeometry, Camera, Data3DTexture, DataArrayTexture, Group, Object3D, Scene, Texture, WebGLRenderer } from 'three';
2
2
  import { AtmosphereMaterialBase, AtmosphereParameters, AtmosphereMaterialBaseUniforms } from '@takram/three-atmosphere';
3
3
  import { AtmosphereUniforms, CloudLayerUniforms, CloudParameterUniforms } from './uniforms';
4
- declare module 'three' {
5
- interface Camera {
6
- isPerspectiveCamera?: boolean;
7
- }
8
- }
9
4
  export interface CloudsMaterialParameters {
10
5
  parameterUniforms: CloudParameterUniforms;
11
6
  layerUniforms: CloudLayerUniforms;
@@ -1,9 +1,4 @@
1
1
  import { Vector3, Camera, Matrix4 } from 'three';
2
- declare module 'three' {
3
- interface Camera {
4
- isOrthographicCamera?: boolean;
5
- }
6
- }
7
2
  export declare class FrustumCorners {
8
3
  readonly near: Vector3[];
9
4
  readonly far: Vector3[];