three-stdlib 2.14.3 → 2.15.1
Sign up to get free protection for your applications and to get access to all the features.
- package/csm/CSM.cjs.js +1 -1
- package/csm/CSM.js +8 -8
- package/csm/CSMFrustum.cjs.js +1 -0
- package/csm/CSMFrustum.d.ts +19 -0
- package/csm/{Frustum.js → CSMFrustum.js} +8 -7
- package/csm/CSMShader.cjs.js +1 -0
- package/csm/CSMShader.d.ts +4 -0
- package/csm/{Shader.js → CSMShader.js} +52 -36
- package/curves/CurveExtras.d.ts +52 -54
- package/geometries/ConvexGeometry.cjs.js +1 -1
- package/geometries/ConvexGeometry.js +1 -1
- package/geometries/ParametricGeometries.cjs.js +1 -1
- package/geometries/ParametricGeometries.js +91 -99
- package/geometries/ParametricGeometry.cjs.js +1 -0
- package/geometries/ParametricGeometry.d.ts +18 -0
- package/geometries/ParametricGeometry.js +87 -0
- package/index.cjs.js +1 -1
- package/index.d.ts +57 -77
- package/index.js +55 -52
- package/interactive/InteractiveGroup.cjs.js +1 -0
- package/interactive/InteractiveGroup.d.ts +5 -0
- package/interactive/InteractiveGroup.js +87 -0
- package/loaders/GLTFLoader.d.ts +2 -9
- package/loaders/LUT3dlLoader.d.ts +2 -2
- package/loaders/LUTCubeLoader.d.ts +2 -2
- package/loaders/VOXLoader.d.ts +2 -2
- package/math/ConvexHull.cjs.js +1 -1
- package/math/ConvexHull.js +639 -603
- package/objects/Reflector.d.ts +1 -0
- package/objects/ReflectorForSSRPass.d.ts +4 -4
- package/objects/Refractor.d.ts +1 -0
- package/objects/Water2.d.ts +1 -1
- package/package.json +2 -1
- package/postprocessing/LUTPass.d.ts +3 -3
- package/postprocessing/SSAARenderPass.d.ts +1 -1
- package/postprocessing/SSRPass.d.ts +3 -3
- package/shaders/BokehShader2.d.ts +27 -72
- package/shaders/BokehShader2.js +0 -1
- package/csm/Frustum.cjs.js +0 -1
- package/csm/Shader.cjs.js +0 -1
- package/loaders/VRMLoader.d.ts +0 -19
- package/nodes/Nodes.d.ts +0 -106
- package/nodes/accessors/CameraNode.d.ts +0 -29
- package/nodes/accessors/NormalNode.d.ts +0 -13
- package/nodes/accessors/PositionNode.d.ts +0 -15
- package/nodes/accessors/ReflectNode.d.ts +0 -12
- package/nodes/accessors/UVNode.d.ts +0 -10
- package/nodes/core/AttributeNode.d.ts +0 -13
- package/nodes/core/ConstNode.d.ts +0 -22
- package/nodes/core/ExpressionNode.d.ts +0 -5
- package/nodes/core/FunctionCallNode.d.ts +0 -17
- package/nodes/core/FunctionNode.d.ts +0 -28
- package/nodes/core/InputNode.d.ts +0 -12
- package/nodes/core/Node.d.ts +0 -34
- package/nodes/core/NodeBuilder.d.ts +0 -149
- package/nodes/core/NodeFrame.d.ts +0 -17
- package/nodes/core/NodeUniform.d.ts +0 -17
- package/nodes/core/NodeUtils.d.ts +0 -7
- package/nodes/core/TempNode.d.ts +0 -23
- package/nodes/core/VarNode.d.ts +0 -12
- package/nodes/materials/MeshStandardNodeMaterial.d.ts +0 -21
- package/nodes/materials/NodeMaterial.d.ts +0 -28
- package/nodes/math/CondNode.d.ts +0 -26
- package/nodes/math/MathNode.d.ts +0 -57
- package/nodes/math/OperatorNode.d.ts +0 -17
- package/nodes/procedural/CheckerNode.d.ts +0 -17
- package/nodes/utils/JoinNode.d.ts +0 -15
- package/nodes/utils/TimerNode.d.ts +0 -19
- package/objects/ReflectorRTT.d.ts +0 -6
- package/shaders/index.cjs.js +0 -1
- package/shaders/index.d.ts +0 -53
- package/shaders/index.js +0 -53
package/objects/Reflector.d.ts
CHANGED
@@ -21,7 +21,7 @@ export interface ReflectorShader {
|
|
21
21
|
fragmentShader: string;
|
22
22
|
}
|
23
23
|
|
24
|
-
export interface
|
24
|
+
export interface ReflectorForSSRPassOptions {
|
25
25
|
clipBias?: number | undefined;
|
26
26
|
textureWidth?: number | undefined;
|
27
27
|
textureHeight?: number | undefined;
|
@@ -30,9 +30,9 @@ export interface ReflectorOptions {
|
|
30
30
|
shader?: ReflectorShader | undefined;
|
31
31
|
}
|
32
32
|
|
33
|
-
export class
|
33
|
+
export class ReflectorForSSRPass<TGeometry extends BufferGeometry = BufferGeometry> extends Mesh<TGeometry> {
|
34
34
|
type: 'ReflectorForSSRPass';
|
35
|
-
options:
|
35
|
+
options: ReflectorForSSRPassOptions;
|
36
36
|
|
37
37
|
static ReflectorShader: ReflectorShader;
|
38
38
|
|
@@ -49,7 +49,7 @@ export class Reflector<TGeometry extends BufferGeometry = BufferGeometry> extend
|
|
49
49
|
|
50
50
|
renderTarget: WebGLRenderTarget;
|
51
51
|
|
52
|
-
constructor(geometry: TGeometry, options:
|
52
|
+
constructor(geometry: TGeometry, options: ReflectorForSSRPassOptions);
|
53
53
|
|
54
54
|
doRender: (renderer: WebGLRenderer, scene: Scene, camera: Camera) => void;
|
55
55
|
|
package/objects/Refractor.d.ts
CHANGED
package/objects/Water2.d.ts
CHANGED
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "three-stdlib",
|
3
|
-
"version": "2.
|
3
|
+
"version": "2.15.1",
|
4
4
|
"private": false,
|
5
5
|
"description": "stand-alone library of threejs examples",
|
6
6
|
"main": "index.cjs.js",
|
@@ -21,6 +21,7 @@
|
|
21
21
|
"homepage": "https://github.com/pmndrs/three-stdlib#readme",
|
22
22
|
"dependencies": {
|
23
23
|
"@babel/runtime": "^7.16.7",
|
24
|
+
"@types/offscreencanvas": "^2019.6.4",
|
24
25
|
"@webgpu/glslang": "^0.0.15",
|
25
26
|
"chevrotain": "^10.1.2",
|
26
27
|
"draco3d": "^1.4.1",
|
@@ -1,13 +1,13 @@
|
|
1
|
-
import { DataTexture,
|
1
|
+
import { DataTexture, Data3DTexture } from 'three';
|
2
2
|
import { ShaderPass } from './ShaderPass';
|
3
3
|
|
4
4
|
export interface LUTPassParameters {
|
5
|
-
lut?: DataTexture |
|
5
|
+
lut?: DataTexture | Data3DTexture;
|
6
6
|
intensity?: number;
|
7
7
|
}
|
8
8
|
|
9
9
|
export class LUTPass extends ShaderPass {
|
10
|
-
lut?: DataTexture |
|
10
|
+
lut?: DataTexture | Data3DTexture;
|
11
11
|
intensity?: number;
|
12
12
|
constructor(params: LUTPassParameters);
|
13
13
|
}
|
@@ -3,7 +3,7 @@ import { Scene, Camera, ColorRepresentation, ShaderMaterial, WebGLRenderTarget }
|
|
3
3
|
import { Pass } from './Pass';
|
4
4
|
|
5
5
|
export class SSAARenderPass extends Pass {
|
6
|
-
constructor(scene: Scene, camera: Camera, clearColor
|
6
|
+
constructor(scene: Scene, camera: Camera, clearColor?: ColorRepresentation, clearAlpha?: number);
|
7
7
|
scene: Scene;
|
8
8
|
camera: Camera;
|
9
9
|
sampleLevel: number;
|
@@ -12,7 +12,7 @@ import {
|
|
12
12
|
ColorRepresentation,
|
13
13
|
} from 'three';
|
14
14
|
import { Pass, FullScreenQuad } from '../postprocessing/Pass';
|
15
|
-
import {
|
15
|
+
import { ReflectorForSSRPass } from '../objects/ReflectorForSSRPass';
|
16
16
|
|
17
17
|
export interface SSRPassParams {
|
18
18
|
renderer: WebGLRenderer;
|
@@ -23,7 +23,7 @@ export interface SSRPassParams {
|
|
23
23
|
selects: Mesh[] | null;
|
24
24
|
isPerspectiveCamera?: boolean | undefined;
|
25
25
|
isBouncing?: boolean | undefined;
|
26
|
-
groundReflector:
|
26
|
+
groundReflector: ReflectorForSSRPass | null;
|
27
27
|
}
|
28
28
|
|
29
29
|
export class SSRPass extends Pass {
|
@@ -33,7 +33,7 @@ export class SSRPass extends Pass {
|
|
33
33
|
renderer: WebGLRenderer;
|
34
34
|
scene: Scene;
|
35
35
|
camera: Camera;
|
36
|
-
groundReflector:
|
36
|
+
groundReflector: ReflectorForSSRPass | null;
|
37
37
|
opacity: number;
|
38
38
|
output: number;
|
39
39
|
maxDistance: number;
|
@@ -1,76 +1,31 @@
|
|
1
|
-
import { Vector2 } from 'three';
|
1
|
+
import { IUniform, Texture, Vector2 } from 'three';
|
2
|
+
export interface BokehShaderUniforms {
|
3
|
+
textureWidth: IUniform<number>;
|
4
|
+
textureHeight: IUniform<number>;
|
5
|
+
focalDepth: IUniform<number>;
|
6
|
+
focalLength: IUniform<number>;
|
7
|
+
fstop: IUniform<number>;
|
8
|
+
tColor: IUniform<Texture | null>;
|
9
|
+
tDepth: IUniform<Texture | null>;
|
10
|
+
maxblur: IUniform<number>;
|
11
|
+
showFocus: IUniform<number>;
|
12
|
+
manualdof: IUniform<number>;
|
13
|
+
vignetting: IUniform<number>;
|
14
|
+
depthblur: IUniform<number>;
|
15
|
+
threshold: IUniform<number>;
|
16
|
+
gain: IUniform<number>;
|
17
|
+
bias: IUniform<number>;
|
18
|
+
fringe: IUniform<number>;
|
19
|
+
znear: IUniform<number>;
|
20
|
+
zfar: IUniform<number>;
|
21
|
+
noise: IUniform<number>;
|
22
|
+
dithering: IUniform<number>;
|
23
|
+
pentagon: IUniform<number>;
|
24
|
+
shaderFocus: IUniform<number>;
|
25
|
+
focusCoords: IUniform<Vector2>;
|
26
|
+
}
|
2
27
|
export declare const BokehShader2: {
|
3
|
-
uniforms:
|
4
|
-
textureWidth: {
|
5
|
-
value: number;
|
6
|
-
};
|
7
|
-
textureHeight: {
|
8
|
-
value: number;
|
9
|
-
};
|
10
|
-
focalDepth: {
|
11
|
-
value: number;
|
12
|
-
};
|
13
|
-
focalLength: {
|
14
|
-
value: number;
|
15
|
-
};
|
16
|
-
fstop: {
|
17
|
-
value: number;
|
18
|
-
};
|
19
|
-
tColor: {
|
20
|
-
value: null;
|
21
|
-
};
|
22
|
-
tDepth: {
|
23
|
-
value: null;
|
24
|
-
};
|
25
|
-
maxblur: {
|
26
|
-
value: number;
|
27
|
-
};
|
28
|
-
showFocus: {
|
29
|
-
value: number;
|
30
|
-
};
|
31
|
-
manualdof: {
|
32
|
-
value: number;
|
33
|
-
};
|
34
|
-
vignetting: {
|
35
|
-
value: number;
|
36
|
-
};
|
37
|
-
depthblur: {
|
38
|
-
value: number;
|
39
|
-
};
|
40
|
-
threshold: {
|
41
|
-
value: number;
|
42
|
-
};
|
43
|
-
gain: {
|
44
|
-
value: number;
|
45
|
-
};
|
46
|
-
bias: {
|
47
|
-
value: number;
|
48
|
-
};
|
49
|
-
fringe: {
|
50
|
-
value: number;
|
51
|
-
};
|
52
|
-
znear: {
|
53
|
-
value: number;
|
54
|
-
};
|
55
|
-
zfar: {
|
56
|
-
value: number;
|
57
|
-
};
|
58
|
-
noise: {
|
59
|
-
value: number;
|
60
|
-
};
|
61
|
-
dithering: {
|
62
|
-
value: number;
|
63
|
-
};
|
64
|
-
pentagon: {
|
65
|
-
value: number;
|
66
|
-
};
|
67
|
-
shaderFocus: {
|
68
|
-
value: number;
|
69
|
-
};
|
70
|
-
focusCoords: {
|
71
|
-
value: Vector2;
|
72
|
-
};
|
73
|
-
};
|
28
|
+
uniforms: BokehShaderUniforms;
|
74
29
|
vertexShader: string;
|
75
30
|
fragmentShader: string;
|
76
31
|
};
|
package/shaders/BokehShader2.js
CHANGED
package/csm/Frustum.cjs.js
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
"use strict";var e=require("three");const t=new e.Matrix4;class r{constructor(t){t=t||{},this.vertices={near:[new e.Vector3,new e.Vector3,new e.Vector3,new e.Vector3],far:[new e.Vector3,new e.Vector3,new e.Vector3,new e.Vector3]},void 0!==t.projectionMatrix&&this.setFromProjectionMatrix(t.projectionMatrix,t.maxFar||1e4)}setFromProjectionMatrix(e,r){const s=0===e.elements[11];return t.copy(e).invert(),this.vertices.near[0].set(1,1,-1),this.vertices.near[1].set(1,-1,-1),this.vertices.near[2].set(-1,-1,-1),this.vertices.near[3].set(-1,1,-1),this.vertices.near.forEach((e=>{e.applyMatrix4(t)})),this.vertices.far[0].set(1,1,1),this.vertices.far[1].set(1,-1,1),this.vertices.far[2].set(-1,-1,1),this.vertices.far[3].set(-1,1,1),this.vertices.far.forEach((e=>{e.applyMatrix4(t);const i=Math.abs(e.z);s?e.z*=Math.min(r/i,1):e.multiplyScalar(Math.min(r/i,1))})),this.vertices}split(e,t){for(;e.length>t.length;)t.push(new r);t.length=e.length;for(let r=0;r<e.length;r++){const s=t[r];if(0===r)for(let e=0;e<4;e++)s.vertices.near[e].copy(this.vertices.near[e]);else for(let t=0;t<4;t++)s.vertices.near[t].lerpVectors(this.vertices.near[t],this.vertices.far[t],e[r-1]);if(r===e-1)for(let e=0;e<4;e++)s.vertices.far[e].copy(this.vertices.far[e]);else for(let t=0;t<4;t++)s.vertices.far[t].lerpVectors(this.vertices.near[t],this.vertices.far[t],e[r])}}toSpace(e,t){for(let r=0;r<4;r++)t.vertices.near[r].copy(this.vertices.near[r]).applyMatrix4(e),t.vertices.far[r].copy(this.vertices.far[r]).applyMatrix4(e)}}module.exports=r;
|
package/csm/Shader.cjs.js
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
"use strict";var t={lights_fragment_begin:"\nGeometricContext geometry;\n\ngeometry.position = - vViewPosition;\ngeometry.normal = normal;\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\n\n#ifdef CLEARCOAT\n\n\tgeometry.clearcoatNormal = clearcoatNormal;\n\n#endif\n\nIncidentLight directLight;\n\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\n\n\tPointLight pointLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLightShadow;\n\t#endif\n\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\n\t\tpointLight = pointLights[ i ];\n\n\t\tgetPointLightInfo( pointLight, geometry, directLight );\n\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\n\t\tpointLightShadow = pointLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;\n\t\t#endif\n\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\n\t}\n\t#pragma unroll_loop_end\n\n#endif\n\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\n\n\tSpotLight spotLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLightShadow;\n\t#endif\n\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\n\t\tspotLight = spotLights[ i ];\n\n\t\tgetSpotLightInfo( spotLight, geometry, directLight );\n\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\tspotLightShadow = spotLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\n\t}\n\t#pragma unroll_loop_end\n\n#endif\n\n#if ( NUM_DIR_LIGHTS > 0) && defined( RE_Direct ) && defined( USE_CSM ) && defined( CSM_CASCADES )\n\n\tDirectionalLight directionalLight;\n\tfloat linearDepth = (vViewPosition.z) / (shadowFar - cameraNear);\n\t#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLightShadow;\n\t#endif\n\n\t#if defined( USE_SHADOWMAP ) && defined( CSM_FADE )\n\tvec2 cascade;\n\tfloat cascadeCenter;\n\tfloat closestEdge;\n\tfloat margin;\n\tfloat csmx;\n\tfloat csmy;\n\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tgetDirectionalLightInfo( directionalLight, geometry, directLight );\n\n\t\t// NOTE: Depth gets larger away from the camera.\n\t\t// cascade.x is closer, cascade.y is further\n\t\tcascade = CSM_cascades[ i ];\n\t\tcascadeCenter = ( cascade.x + cascade.y ) / 2.0;\n\t\tclosestEdge = linearDepth < cascadeCenter ? cascade.x : cascade.y;\n\t\tmargin = 0.25 * pow( closestEdge, 2.0 );\n\t\tcsmx = cascade.x - margin / 2.0;\n\t\tcsmy = cascade.y + margin / 2.0;\n\t\tif( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS && linearDepth >= csmx && ( linearDepth < csmy || UNROLLED_LOOP_INDEX == CSM_CASCADES - 1 ) ) {\n\n\t\t\tfloat dist = min( linearDepth - csmx, csmy - linearDepth );\n\t\t\tfloat ratio = clamp( dist / margin, 0.0, 1.0 );\n\t\t\tif( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS ) {\n\n\t\t\t\tvec3 prevColor = directLight.color;\n\t\t\t\tdirectionalLightShadow = directionalLightShadows[ i ];\n\t\t\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\n\t\t\t\tbool shouldFadeLastCascade = UNROLLED_LOOP_INDEX == CSM_CASCADES - 1 && linearDepth > cascadeCenter;\n\t\t\t\tdirectLight.color = mix( prevColor, directLight.color, shouldFadeLastCascade ? ratio : 1.0 );\n\n\t\t\t}\n\n\t\t\tReflectedLight prevLight = reflectedLight;\n\t\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\n\t\t\tbool shouldBlend = UNROLLED_LOOP_INDEX != CSM_CASCADES - 1 || UNROLLED_LOOP_INDEX == CSM_CASCADES - 1 && linearDepth < cascadeCenter;\n\t\t\tfloat blendRatio = shouldBlend ? ratio : 1.0;\n\n\t\t\treflectedLight.directDiffuse = mix( prevLight.directDiffuse, reflectedLight.directDiffuse, blendRatio );\n\t\t\treflectedLight.directSpecular = mix( prevLight.directSpecular, reflectedLight.directSpecular, blendRatio );\n\t\t\treflectedLight.indirectDiffuse = mix( prevLight.indirectDiffuse, reflectedLight.indirectDiffuse, blendRatio );\n\t\t\treflectedLight.indirectSpecular = mix( prevLight.indirectSpecular, reflectedLight.indirectSpecular, blendRatio );\n\n\t\t}\n\n\t}\n\t#pragma unroll_loop_end\n\t#else\n\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tgetDirectionalLightInfo( directionalLight, geometry, directLight );\n\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\n\n\t\tdirectionalLightShadow = directionalLightShadows[ i ];\n\t\tif(linearDepth >= CSM_cascades[UNROLLED_LOOP_INDEX].x && linearDepth < CSM_cascades[UNROLLED_LOOP_INDEX].y) directLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\n\t\t#endif\n\n\t\tif(linearDepth >= CSM_cascades[UNROLLED_LOOP_INDEX].x && (linearDepth < CSM_cascades[UNROLLED_LOOP_INDEX].y || UNROLLED_LOOP_INDEX == CSM_CASCADES - 1)) RE_Direct( directLight, geometry, material, reflectedLight );\n\n\t}\n\t#pragma unroll_loop_end\n\n\t#endif\n\n#endif\n\n\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct ) && !defined( USE_CSM ) && !defined( CSM_CASCADES )\n\n\tDirectionalLight directionalLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLightShadow;\n\t#endif\n\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\n\t\tdirectionalLight = directionalLights[ i ];\n\n\t\tgetDirectionalLightInfo( directionalLight, geometry, directLight );\n\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\n\t\tdirectionalLightShadow = directionalLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\n\t}\n\t#pragma unroll_loop_end\n\n#endif\n\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\n\n\tRectAreaLight rectAreaLight;\n\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\n\n\t\trectAreaLight = rectAreaLights[ i ];\n\t\tRE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\n\n\t}\n\t#pragma unroll_loop_end\n\n#endif\n\n#if defined( RE_IndirectDiffuse )\n\n\tvec3 iblIrradiance = vec3( 0.0 );\n\n\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\n\n\tirradiance += getLightProbeIrradiance( lightProbe, geometry.normal );\n\n\t#if ( NUM_HEMI_LIGHTS > 0 )\n\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\n\t\t\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry.normal );\n\n\t\t}\n\t\t#pragma unroll_loop_end\n\n\t#endif\n\n#endif\n\n#if defined( RE_IndirectSpecular )\n\n\tvec3 radiance = vec3( 0.0 );\n\tvec3 clearcoatRadiance = vec3( 0.0 );\n\n#endif\n",lights_pars_begin:"\n#if defined( USE_CSM ) && defined( CSM_CASCADES )\nuniform vec2 CSM_cascades[CSM_CASCADES];\nuniform float cameraNear;\nuniform float shadowFar;\n#endif\n\t"+require("three").ShaderChunk.lights_pars_begin};module.exports=t;
|
package/loaders/VRMLoader.d.ts
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
import { Loader, LoadingManager } from 'three';
|
2
|
-
|
3
|
-
import { GLTFLoader, GLTF } from './GLTFLoader';
|
4
|
-
import { DRACOLoader } from './DRACOLoader';
|
5
|
-
|
6
|
-
export class VRMLoader extends Loader {
|
7
|
-
constructor(manager?: LoadingManager);
|
8
|
-
gltfLoader: GLTFLoader;
|
9
|
-
|
10
|
-
load(
|
11
|
-
url: string,
|
12
|
-
onLoad: (scene: GLTF) => void,
|
13
|
-
onProgress?: (event: ProgressEvent) => void,
|
14
|
-
onError?: (event: ErrorEvent) => void,
|
15
|
-
): void;
|
16
|
-
loadAsync(url: string, onProgress?: (event: ProgressEvent) => void): Promise<GLTF>;
|
17
|
-
parse(gltf: GLTF, onLoad: (scene: GLTF) => void): void;
|
18
|
-
setDRACOLoader(dracoLoader: DRACOLoader): this;
|
19
|
-
}
|
package/nodes/Nodes.d.ts
DELETED
@@ -1,106 +0,0 @@
|
|
1
|
-
// core
|
2
|
-
|
3
|
-
export * from './core/Node';
|
4
|
-
export * from './core/TempNode';
|
5
|
-
export * from './core/InputNode';
|
6
|
-
export * from './core/ConstNode';
|
7
|
-
export * from './core/VarNode';
|
8
|
-
export * from './core/StructNode';
|
9
|
-
export * from './core/AttributeNode';
|
10
|
-
export * from './core/FunctionNode';
|
11
|
-
export * from './core/ExpressionNode';
|
12
|
-
export * from './core/FunctionCallNode';
|
13
|
-
export * from './core/NodeLib';
|
14
|
-
export * from './core/NodeUtils';
|
15
|
-
export * from './core/NodeFrame';
|
16
|
-
export * from './core/NodeUniform';
|
17
|
-
export * from './core/NodeBuilder';
|
18
|
-
|
19
|
-
// inputs
|
20
|
-
|
21
|
-
export * from './inputs/BoolNode';
|
22
|
-
export * from './inputs/IntNode';
|
23
|
-
export * from './inputs/FloatNode';
|
24
|
-
export * from './inputs/Vector2Node';
|
25
|
-
export * from './inputs/Vector3Node';
|
26
|
-
export * from './inputs/Vector4Node';
|
27
|
-
export * from './inputs/ColorNode';
|
28
|
-
export * from './inputs/Matrix3Node';
|
29
|
-
export * from './inputs/Matrix4Node';
|
30
|
-
export * from './inputs/TextureNode';
|
31
|
-
export * from './inputs/CubeTextureNode';
|
32
|
-
export * from './inputs/ScreenNode';
|
33
|
-
export * from './inputs/ReflectorNode';
|
34
|
-
export * from './inputs/PropertyNode';
|
35
|
-
export * from './inputs/RTTNode';
|
36
|
-
|
37
|
-
// accessors
|
38
|
-
|
39
|
-
export * from './accessors/UVNode';
|
40
|
-
export * from './accessors/ColorsNode';
|
41
|
-
export * from './accessors/PositionNode';
|
42
|
-
export * from './accessors/NormalNode';
|
43
|
-
export * from './accessors/CameraNode';
|
44
|
-
export * from './accessors/LightNode';
|
45
|
-
export * from './accessors/ReflectNode';
|
46
|
-
export * from './accessors/ScreenUVNode';
|
47
|
-
export * from './accessors/ResolutionNode';
|
48
|
-
|
49
|
-
// math
|
50
|
-
|
51
|
-
export * from './math/MathNode';
|
52
|
-
export * from './math/OperatorNode';
|
53
|
-
export * from './math/CondNode';
|
54
|
-
|
55
|
-
// procedural
|
56
|
-
|
57
|
-
export * from './procedural/NoiseNode';
|
58
|
-
export * from './procedural/CheckerNode';
|
59
|
-
|
60
|
-
// misc
|
61
|
-
|
62
|
-
export * from './misc/TextureCubeUVNode';
|
63
|
-
export * from './misc/TextureCubeNode';
|
64
|
-
export * from './misc/NormalMapNode';
|
65
|
-
export * from './misc/BumpMapNode';
|
66
|
-
|
67
|
-
// utils
|
68
|
-
|
69
|
-
export * from './utils/BypassNode';
|
70
|
-
export * from './utils/JoinNode';
|
71
|
-
export * from './utils/SwitchNode';
|
72
|
-
export * from './utils/TimerNode';
|
73
|
-
export * from './utils/VelocityNode';
|
74
|
-
export * from './utils/UVTransformNode';
|
75
|
-
export * from './utils/MaxMIPLevelNode';
|
76
|
-
export * from './utils/SpecularMIPLevelNode';
|
77
|
-
export * from './utils/ColorSpaceNode';
|
78
|
-
|
79
|
-
// effects
|
80
|
-
|
81
|
-
export * from './effects/BlurNode';
|
82
|
-
export * from './effects/ColorAdjustmentNode';
|
83
|
-
export * from './effects/LuminanceNode';
|
84
|
-
|
85
|
-
// material nodes
|
86
|
-
|
87
|
-
export * from './materials/nodes/RawNode';
|
88
|
-
export * from './materials/nodes/BasicNode';
|
89
|
-
export * from './materials/nodes/SpriteNode';
|
90
|
-
export * from './materials/nodes/PhongNode';
|
91
|
-
export * from './materials/nodes/StandardNode';
|
92
|
-
export * from './materials/nodes/MeshStandardNode';
|
93
|
-
|
94
|
-
// materials
|
95
|
-
|
96
|
-
export * from './materials/NodeMaterial';
|
97
|
-
export * from './materials/BasicNodeMaterial';
|
98
|
-
export * from './materials/SpriteNodeMaterial';
|
99
|
-
export * from './materials/PhongNodeMaterial';
|
100
|
-
export * from './materials/StandardNodeMaterial';
|
101
|
-
export * from './materials/MeshStandardNodeMaterial';
|
102
|
-
|
103
|
-
// postprocessing
|
104
|
-
|
105
|
-
export * from './postprocessing/NodePostProcessing';
|
106
|
-
// export * from './postprocessing/NodePass';
|
@@ -1,29 +0,0 @@
|
|
1
|
-
import { Camera } from 'three';
|
2
|
-
|
3
|
-
import { NodeFrame } from '../core/NodeFrame';
|
4
|
-
import { TempNode } from '../core/TempNode';
|
5
|
-
import { FunctionNode } from '../core/FunctionNode';
|
6
|
-
import { FloatNode } from '../inputs/FloatNode';
|
7
|
-
|
8
|
-
export class CameraNode extends TempNode {
|
9
|
-
constructor(scope?: string, camera?: Camera);
|
10
|
-
|
11
|
-
scope: string;
|
12
|
-
near: FloatNode | undefined;
|
13
|
-
far: FloatNode | undefined;
|
14
|
-
camera: Camera | undefined;
|
15
|
-
updateFrame: boolean | undefined;
|
16
|
-
nodeType: string;
|
17
|
-
|
18
|
-
setCamera(camera: Camera): void;
|
19
|
-
setScope(scope: string): void;
|
20
|
-
onUpdateFrame(frame: NodeFrame): void;
|
21
|
-
copy(source: CameraNode): this;
|
22
|
-
|
23
|
-
static Nodes: {
|
24
|
-
depthColor: FunctionNode;
|
25
|
-
};
|
26
|
-
static POSITION: string;
|
27
|
-
static DEPTH: string;
|
28
|
-
static TO_VERTEX: string;
|
29
|
-
}
|
@@ -1,13 +0,0 @@
|
|
1
|
-
import { TempNode } from '../core/TempNode';
|
2
|
-
|
3
|
-
export class NormalNode extends TempNode {
|
4
|
-
constructor(scope?: string);
|
5
|
-
|
6
|
-
scope: string;
|
7
|
-
nodeType: string;
|
8
|
-
|
9
|
-
copy(source: NormalNode): this;
|
10
|
-
|
11
|
-
static LOCAL: string;
|
12
|
-
static WORLD: string;
|
13
|
-
}
|
@@ -1,15 +0,0 @@
|
|
1
|
-
import { TempNode } from '../core/TempNode';
|
2
|
-
|
3
|
-
export class PositionNode extends TempNode {
|
4
|
-
constructor(scope?: string);
|
5
|
-
|
6
|
-
scope: string;
|
7
|
-
nodeType: string;
|
8
|
-
|
9
|
-
copy(source: PositionNode): this;
|
10
|
-
|
11
|
-
static LOCAL: string;
|
12
|
-
static WORLD: string;
|
13
|
-
static VIEW: string;
|
14
|
-
static PROJECTION: string;
|
15
|
-
}
|
@@ -1,13 +0,0 @@
|
|
1
|
-
import { TempNode } from './TempNode';
|
2
|
-
import { NodeBuilder } from './NodeBuilder';
|
3
|
-
|
4
|
-
export class AttributeNode extends TempNode {
|
5
|
-
constructor(name: string, type?: string);
|
6
|
-
|
7
|
-
name: string;
|
8
|
-
nodeType: string;
|
9
|
-
|
10
|
-
getAttributeType(builder: NodeBuilder): string;
|
11
|
-
getType(builder: NodeBuilder): string;
|
12
|
-
copy(source: AttributeNode): this;
|
13
|
-
}
|
@@ -1,22 +0,0 @@
|
|
1
|
-
import { TempNode } from './TempNode';
|
2
|
-
import { NodeBuilder } from './NodeBuilder';
|
3
|
-
|
4
|
-
export class ConstNode extends TempNode {
|
5
|
-
constructor(src: string, useDefine?: boolean);
|
6
|
-
|
7
|
-
src: string;
|
8
|
-
useDefine: boolean;
|
9
|
-
nodeType: string;
|
10
|
-
|
11
|
-
getType(builder: NodeBuilder): string;
|
12
|
-
parse(src: string, useDefine?: boolean): void;
|
13
|
-
build(builder: NodeBuilder, output: string): string;
|
14
|
-
copy(source: ConstNode): this;
|
15
|
-
|
16
|
-
static PI: string;
|
17
|
-
static PI2: string;
|
18
|
-
static RECIPROCAL_PI: string;
|
19
|
-
static RECIPROCAL_PI2: string;
|
20
|
-
static LOG2: string;
|
21
|
-
static EPSILON: string;
|
22
|
-
}
|
@@ -1,17 +0,0 @@
|
|
1
|
-
import { Node } from './Node';
|
2
|
-
import { FunctionNode } from './FunctionNode';
|
3
|
-
import { TempNode } from './TempNode';
|
4
|
-
|
5
|
-
export class FunctionCallNode extends TempNode {
|
6
|
-
constructor(func: FunctionNode, inputs?: Node[]);
|
7
|
-
|
8
|
-
nodeType: string;
|
9
|
-
|
10
|
-
value: FunctionNode;
|
11
|
-
inputs: Node[];
|
12
|
-
|
13
|
-
setFunction(func: FunctionNode, inputs?: Node[]): void;
|
14
|
-
getFunction(): FunctionNode;
|
15
|
-
getType(): string;
|
16
|
-
copy(source: FunctionCallNode): this;
|
17
|
-
}
|
@@ -1,28 +0,0 @@
|
|
1
|
-
import { TempNode } from './TempNode';
|
2
|
-
import { NodeBuilder } from './NodeBuilder';
|
3
|
-
|
4
|
-
export interface FunctionNodeInput {
|
5
|
-
name: string;
|
6
|
-
type: string;
|
7
|
-
qualifier: string;
|
8
|
-
}
|
9
|
-
|
10
|
-
export class FunctionNode extends TempNode {
|
11
|
-
constructor(src: string, includes?: object[], extensions?: object, keywords?: object, type?: string);
|
12
|
-
|
13
|
-
isMethod: boolean;
|
14
|
-
nodeType: string;
|
15
|
-
useKeywords: boolean;
|
16
|
-
|
17
|
-
inputs: FunctionNodeInput[] | undefined;
|
18
|
-
includes: object[] | undefined;
|
19
|
-
extensions: object | undefined;
|
20
|
-
keywords: object | undefined;
|
21
|
-
|
22
|
-
getShared(builder: NodeBuilder, output: string): boolean;
|
23
|
-
getType(builder: NodeBuilder): string;
|
24
|
-
getInputByName(name: string): FunctionNodeInput | undefined;
|
25
|
-
getIncludeByName(name: string): object | undefined;
|
26
|
-
parse(src: string, includes?: object[], extensions?: object, keywords?: object): void;
|
27
|
-
copy(source: FunctionNode): this;
|
28
|
-
}
|
@@ -1,12 +0,0 @@
|
|
1
|
-
import { TempNode, TempNodeParams } from './TempNode';
|
2
|
-
import { NodeBuilder } from './NodeBuilder';
|
3
|
-
|
4
|
-
export class InputNode extends TempNode {
|
5
|
-
constructor(type: string, params?: TempNodeParams);
|
6
|
-
|
7
|
-
readonly: boolean;
|
8
|
-
|
9
|
-
setReadonly(value: boolean): this;
|
10
|
-
getReadonly(builder: NodeBuilder): boolean;
|
11
|
-
copy(source: InputNode): this;
|
12
|
-
}
|
package/nodes/core/Node.d.ts
DELETED
@@ -1,34 +0,0 @@
|
|
1
|
-
import { NodeBuilder } from './NodeBuilder';
|
2
|
-
|
3
|
-
export interface Flow {
|
4
|
-
result: string;
|
5
|
-
code: string;
|
6
|
-
extra: object;
|
7
|
-
}
|
8
|
-
|
9
|
-
export class Node {
|
10
|
-
constructor(type?: string);
|
11
|
-
|
12
|
-
uuid: string;
|
13
|
-
name: string;
|
14
|
-
type: string | undefined;
|
15
|
-
userData: object;
|
16
|
-
readonly isNode: true;
|
17
|
-
frameId: number | undefined;
|
18
|
-
hashProperties: string[] | undefined;
|
19
|
-
|
20
|
-
analyze(builder: NodeBuilder, settings?: object): void;
|
21
|
-
analyzeAndFlow(builder: NodeBuilder, output: string, settings?: object): Flow;
|
22
|
-
flow(builder: NodeBuilder, output: string, settings?: object): Flow;
|
23
|
-
build(builder: NodeBuilder, output: string, uuid?: string): string;
|
24
|
-
generate(builder: NodeBuilder, output: string, uuid?: string, type?: string, ns?: string): string;
|
25
|
-
appendDepsNode(builder: NodeBuilder, data: object, output: string): void;
|
26
|
-
setName(name: string): this;
|
27
|
-
getName(builder: NodeBuilder): string;
|
28
|
-
getType(builder: NodeBuilder, output?: string): string;
|
29
|
-
getJSONNode(meta?: object | string): object | undefined;
|
30
|
-
getHash(): string;
|
31
|
-
copy(source: Node): this;
|
32
|
-
createJSONNode(meta?: object | string): object;
|
33
|
-
toJSON(meta?: object | string): object;
|
34
|
-
}
|