@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/CHANGELOG.md +7 -0
- package/README.md +8 -8
- package/build/index.cjs +5 -5
- package/build/index.cjs.map +1 -1
- package/build/index.js +24 -12
- package/build/index.js.map +1 -1
- package/build/shared.cjs +16 -16
- package/build/shared.cjs.map +1 -1
- package/build/shared.js +728 -624
- package/build/shared.js.map +1 -1
- package/package.json +8 -8
- package/src/CloudsMaterial.ts +7 -12
- package/src/CloudsResolveMaterial.ts +1 -1
- package/src/PassBase.ts +2 -2
- package/src/ShadowPass.ts +1 -1
- package/src/helpers/FrustumCorners.ts +0 -6
- package/types/CloudsMaterial.d.ts +0 -5
- package/types/helpers/FrustumCorners.d.ts +0 -5
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@takram/three-clouds",
|
|
3
|
-
"version": "0.5.
|
|
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.
|
|
49
|
-
"@takram/three-geospatial": "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.
|
|
51
|
+
"type-fest": "^4.41.0"
|
|
52
52
|
},
|
|
53
53
|
"peerDependencies": {
|
|
54
54
|
"@react-three/fiber": ">=9.0.4",
|
package/src/CloudsMaterial.ts
CHANGED
|
@@ -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 =
|
|
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.
|
|
282
|
+
this.defines.USE_LOGARITHMIC_DEPTH_BUFFER = '1'
|
|
288
283
|
} else {
|
|
289
|
-
delete this.defines.
|
|
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
|
|
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
|
-
|
|
374
|
+
reinterpretType<PerspectiveCamera | OrthographicCamera>(camera)
|
|
380
375
|
uniforms.cameraNear.value = camera.near
|
|
381
376
|
uniforms.cameraFar.value = camera.far
|
|
382
377
|
|
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
|
@@ -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;
|