diff --git a/threejs/tests/math/test_unit_math.ts b/threejs/tests/math/test_unit_math.ts
index 0c92e970a..5d095315d 100644
--- a/threejs/tests/math/test_unit_math.ts
+++ b/threejs/tests/math/test_unit_math.ts
@@ -212,23 +212,23 @@
ok( b.distanceToPoint( new THREE.Vector2( -2, -2 ) ) == Math.sqrt( 2 ), "Passed!" );
});
- test( "isIntersectionBox", function() {
+ test( "intersectsBox", function() {
var a = new THREE.Box2( zero2.clone(), zero2.clone() );
var b = new THREE.Box2( zero2.clone(), one2.clone() );
var c = new THREE.Box2( one2.clone().negate(), one2.clone() );
- ok( a.isIntersectionBox( a ), "Passed!" );
- ok( a.isIntersectionBox( b ), "Passed!" );
- ok( a.isIntersectionBox( c ), "Passed!" );
+ ok( a.intersectsBox( a ), "Passed!" );
+ ok( a.intersectsBox( b ), "Passed!" );
+ ok( a.intersectsBox( c ), "Passed!" );
- ok( b.isIntersectionBox( a ), "Passed!" );
- ok( c.isIntersectionBox( a ), "Passed!" );
- ok( b.isIntersectionBox( c ), "Passed!" );
+ ok( b.intersectsBox( a ), "Passed!" );
+ ok( c.intersectsBox( a ), "Passed!" );
+ ok( b.intersectsBox( c ), "Passed!" );
b.translate( new THREE.Vector2( 2, 2 ) );
- ok( ! a.isIntersectionBox( b ), "Passed!" );
- ok( ! b.isIntersectionBox( a ), "Passed!" );
- ok( ! b.isIntersectionBox( c ), "Passed!" );
+ ok( ! a.intersectsBox( b ), "Passed!" );
+ ok( ! b.intersectsBox( a ), "Passed!" );
+ ok( ! b.intersectsBox( c ), "Passed!" );
});
test( "intersect", function() {
@@ -468,23 +468,23 @@
ok( b.distanceToPoint( new THREE.Vector3( -2, -2, -2 ) ) == Math.sqrt( 3 ), "Passed!" );
});
- test( "isIntersectionBox", function() {
+ test( "intersectsBox", function() {
var a = new THREE.Box3( zero3.clone(), zero3.clone() );
var b = new THREE.Box3( zero3.clone(), one3.clone() );
var c = new THREE.Box3( one3.clone().negate(), one3.clone() );
- ok( a.isIntersectionBox( a ), "Passed!" );
- ok( a.isIntersectionBox( b ), "Passed!" );
- ok( a.isIntersectionBox( c ), "Passed!" );
+ ok( a.intersectsBox( a ), "Passed!" );
+ ok( a.intersectsBox( b ), "Passed!" );
+ ok( a.intersectsBox( c ), "Passed!" );
- ok( b.isIntersectionBox( a ), "Passed!" );
- ok( c.isIntersectionBox( a ), "Passed!" );
- ok( b.isIntersectionBox( c ), "Passed!" );
+ ok( b.intersectsBox( a ), "Passed!" );
+ ok( c.intersectsBox( a ), "Passed!" );
+ ok( b.intersectsBox( c ), "Passed!" );
b.translate( new THREE.Vector3( 2, 2, 2 ) );
- ok( ! a.isIntersectionBox( b ), "Passed!" );
- ok( ! b.isIntersectionBox( a ), "Passed!" );
- ok( ! b.isIntersectionBox( c ), "Passed!" );
+ ok( ! a.intersectsBox( b ), "Passed!" );
+ ok( ! b.intersectsBox( a ), "Passed!" );
+ ok( ! b.intersectsBox( c ), "Passed!" );
});
test( "getBoundingSphere", function() {
@@ -1149,7 +1149,8 @@
var a = new THREE.Matrix3();
ok( a.determinant() == 1, "Passed!" );
- var b = new THREE.Matrix3( 0, 1, 2, 3, 4, 5, 6, 7, 8 );
+ var b = new THREE.Matrix3();
+ b.set(0, 1, 2, 3, 4, 5, 6, 7, 8);
ok( b.elements[0] == 0 );
ok( b.elements[1] == 3 );
ok( b.elements[2] == 6 );
@@ -1164,7 +1165,8 @@
});
test( "copy", function() {
- var a = new THREE.Matrix3( 0, 1, 2, 3, 4, 5, 6, 7, 8 );
+ var a = new THREE.Matrix3();
+ a.set(0, 1, 2, 3, 4, 5, 6, 7, 8);
var b = new THREE.Matrix3().copy( a );
ok( matrixEquals3( a, b ), "Passed!" );
@@ -1191,7 +1193,8 @@
});
test( "identity", function() {
- var b = new THREE.Matrix3( 0, 1, 2, 3, 4, 5, 6, 7, 8 );
+ var b = new THREE.Matrix3();
+ b.set(0, 1, 2, 3, 4, 5, 6, 7, 8);
ok( b.elements[0] == 0 );
ok( b.elements[1] == 3 );
ok( b.elements[2] == 6 );
@@ -1210,7 +1213,8 @@
});
test( "multiplyScalar", function() {
- var b = new THREE.Matrix3( 0, 1, 2, 3, 4, 5, 6, 7, 8 );
+ var b = new THREE.Matrix3();
+ b.set(0, 1, 2, 3, 4, 5, 6, 7, 8);
ok( b.elements[0] == 0 );
ok( b.elements[1] == 3 );
ok( b.elements[2] == 6 );
@@ -1252,8 +1256,10 @@
test( "getInverse", function() {
var identity = new THREE.Matrix4();
var a = new THREE.Matrix4();
- var b = new THREE.Matrix3( 0, 0, 0, 0, 0, 0, 0, 0, 0 );
- var c = new THREE.Matrix4( 0, 0, 0, 0, 0, 0, 0, 0, 0 );
+ var b = new THREE.Matrix3();
+ b.set(0, 0, 0, 0, 0, 0, 0, 0, 0);
+ var c = new THREE.Matrix4();
+ c.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
ok( ! matrixEquals3( a, b ), "Passed!" );
b.getInverse( a, false );
@@ -1299,7 +1305,8 @@
var b = a.clone().transpose();
ok( matrixEquals3( a, b ), "Passed!" );
- b = new THREE.Matrix3( 0, 1, 2, 3, 4, 5, 6, 7, 8 );
+ b = new THREE.Matrix3();
+ b.set(0, 1, 2, 3, 4, 5, 6, 7, 8);
var c = b.clone().transpose();
ok( ! matrixEquals3( b, c ), "Passed!" );
c.transpose();
@@ -1307,7 +1314,8 @@
});
test( "clone", function() {
- var a = new THREE.Matrix3( 0, 1, 2, 3, 4, 5, 6, 7, 8 );
+ var a = new THREE.Matrix3();
+ a.set(0, 1, 2, 3, 4, 5, 6, 7, 8);
var b = a.clone();
ok( matrixEquals3( a, b ), "Passed!" );
@@ -1337,7 +1345,8 @@
var a = new THREE.Matrix4();
ok( a.determinant() == 1, "Passed!" );
- var b = new THREE.Matrix4( 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 );
+ var b = new THREE.Matrix4();
+ b.set(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);
ok( b.elements[0] == 0 );
ok( b.elements[1] == 4 );
ok( b.elements[2] == 8 );
@@ -1359,7 +1368,8 @@
});
test( "copy", function() {
- var a = new THREE.Matrix4( 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 );
+ var a = new THREE.Matrix4();
+ a.set(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);
var b = new THREE.Matrix4().copy( a );
ok( matrixEquals4( a, b ), "Passed!" );
@@ -1393,7 +1403,8 @@
});
test( "identity", function() {
- var b = new THREE.Matrix4( 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 );
+ var b = new THREE.Matrix4();
+ b.set(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);
ok( b.elements[0] == 0 );
ok( b.elements[1] == 4 );
ok( b.elements[2] == 8 );
@@ -1419,7 +1430,8 @@
});
test( "multiplyScalar", function() {
- var b = new THREE.Matrix4( 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 );
+ var b = new THREE.Matrix4();
+ b.set(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);
ok( b.elements[0] == 0 );
ok( b.elements[1] == 4 );
ok( b.elements[2] == 8 );
@@ -1475,8 +1487,8 @@
var identity = new THREE.Matrix4();
var a = new THREE.Matrix4();
- var b = new THREE.Matrix4( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 );
- var c = new THREE.Matrix4( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 );
+ var b = new THREE.Matrix4().set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
+ var c = new THREE.Matrix4().set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
ok( ! matrixEquals4( a, b ), "Passed!" );
b.getInverse( a, false );
@@ -1561,7 +1573,8 @@
var b = a.clone().transpose();
ok( matrixEquals4( a, b ), "Passed!" );
- b = new THREE.Matrix4( 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 );
+ b = new THREE.Matrix4();
+ b.set(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);
var c = b.clone().transpose();
ok( ! matrixEquals4( b, c ), "Passed!" );
c.transpose();
@@ -1569,7 +1582,8 @@
});
test( "clone", function() {
- var a = new THREE.Matrix4( 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 );
+ var a = new THREE.Matrix4();
+ a.set(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);
var b = a.clone();
ok( matrixEquals4( a, b ), "Passed!" );
@@ -1773,23 +1787,23 @@
var a = new THREE.Plane( new THREE.Vector3( 1, 0, 0 ), 0 );
var l1 = new THREE.Line3( new THREE.Vector3( -10, 0, 0 ), new THREE.Vector3( 10, 0, 0 ) );
- ok( a.isIntersectionLine( l1 ), "Passed!" );
+ ok( a.intersectsLine( l1 ), "Passed!" );
ok( a.intersectLine( l1 ).equals( new THREE.Vector3( 0, 0, 0 ) ), "Passed!" );
a = new THREE.Plane( new THREE.Vector3( 1, 0, 0 ), -3 );
- ok( a.isIntersectionLine( l1 ), "Passed!" );
+ ok( a.intersectsLine( l1 ), "Passed!" );
ok( a.intersectLine( l1 ).equals( new THREE.Vector3( 3, 0, 0 ) ), "Passed!" );
a = new THREE.Plane( new THREE.Vector3( 1, 0, 0 ), -11 );
- ok( ! a.isIntersectionLine( l1 ), "Passed!" );
+ ok( ! a.intersectsLine( l1 ), "Passed!" );
ok( a.intersectLine( l1 ) === undefined, "Passed!" );
a = new THREE.Plane( new THREE.Vector3( 1, 0, 0 ), 11 );
- ok( ! a.isIntersectionLine( l1 ), "Passed!" );
+ ok( ! a.intersectsLine( l1 ), "Passed!" );
ok( a.intersectLine( l1 ) === undefined, "Passed!" );
});
@@ -2136,7 +2150,7 @@
ok( d === 0, "Passed!" );
});
- test( "isIntersectionSphere", function() {
+ test( "intersectsSphere", function() {
var a = new THREE.Ray( one3.clone(), new THREE.Vector3( 0, 0, 1 ) );
var b = new THREE.Sphere( zero3, 0.5 );
var c = new THREE.Sphere( zero3, 1.5 );
@@ -2144,11 +2158,11 @@
var e = new THREE.Sphere( two3, 0.1 );
var f = new THREE.Sphere( two3, 1 );
- ok( ! a.isIntersectionSphere( b ), "Passed!" );
- ok( ! a.isIntersectionSphere( c ), "Passed!" );
- ok( a.isIntersectionSphere( d ), "Passed!" );
- ok( ! a.isIntersectionSphere( e ), "Passed!" );
- ok( ! a.isIntersectionSphere( f ), "Passed!" );
+ ok( ! a.intersectsSphere( b ), "Passed!" );
+ ok( ! a.intersectsSphere( c ), "Passed!" );
+ ok( a.intersectsSphere( d ), "Passed!" );
+ ok( ! a.intersectsSphere( e ), "Passed!" );
+ ok( ! a.intersectsSphere( f ), "Passed!" );
});
test( "intersectSphere", function() {
@@ -2210,28 +2224,28 @@
});
- test( "isIntersectionPlane", function() {
+ test( "intersectsPlane", function() {
var a = new THREE.Ray( one3.clone(), new THREE.Vector3( 0, 0, 1 ) );
// parallel plane in front of the ray
var b = new THREE.Plane().setFromNormalAndCoplanarPoint( new THREE.Vector3( 0, 0, 1 ), one3.clone().sub( new THREE.Vector3( 0, 0, -1 ) ) );
- ok( a.isIntersectionPlane( b ), "Passed!" );
+ ok( a.intersectsPlane( b ), "Passed!" );
// parallel plane coincident with origin
var c = new THREE.Plane().setFromNormalAndCoplanarPoint( new THREE.Vector3( 0, 0, 1 ), one3.clone().sub( new THREE.Vector3( 0, 0, 0 ) ) );
- ok( a.isIntersectionPlane( c ), "Passed!" );
+ ok( a.intersectsPlane( c ), "Passed!" );
// parallel plane behind the ray
var d = new THREE.Plane().setFromNormalAndCoplanarPoint( new THREE.Vector3( 0, 0, 1 ), one3.clone().sub( new THREE.Vector3( 0, 0, 1 ) ) );
- ok( ! a.isIntersectionPlane( d ), "Passed!" );
+ ok( ! a.intersectsPlane( d ), "Passed!" );
// perpendical ray that overlaps exactly
var e = new THREE.Plane().setFromNormalAndCoplanarPoint( new THREE.Vector3( 1, 0, 0 ), one3 );
- ok( a.isIntersectionPlane( e ), "Passed!" );
+ ok( a.intersectsPlane( e ), "Passed!" );
// perpendical ray that doesn't overlap
var f = new THREE.Plane().setFromNormalAndCoplanarPoint( new THREE.Vector3( 1, 0, 0 ), zero3 );
- ok( ! a.isIntersectionPlane( f ), "Passed!" );
+ ok( ! a.intersectsPlane( f ), "Passed!" );
});
test( "intersectPlane", function() {
@@ -2327,32 +2341,32 @@
var a = new THREE.Ray( new THREE.Vector3( -2, 0, 0 ), new THREE.Vector3( 1, 0, 0) );
//ray should intersect box at -1,0,0
- ok( a.isIntersectionBox(box) === true, "Passed!" );
+ ok( a.intersectsBox(box) === true, "Passed!" );
ok( a.intersectBox(box).distanceTo( new THREE.Vector3( -1, 0, 0 ) ) < TOL, "Passed!" );
var b = new THREE.Ray( new THREE.Vector3( -2, 0, 0 ), new THREE.Vector3( -1, 0, 0) );
//ray is point away from box, it should not intersect
- ok( b.isIntersectionBox(box) === false, "Passed!" );
+ ok( b.intersectsBox(box) === false, "Passed!" );
ok( b.intersectBox(box) === null, "Passed!" );
var c = new THREE.Ray( new THREE.Vector3( 0, 0, 0 ), new THREE.Vector3( 1, 0, 0) );
// ray is inside box, should return exit point
- ok( c.isIntersectionBox(box) === true, "Passed!" );
+ ok( c.intersectsBox(box) === true, "Passed!" );
ok( c.intersectBox(box).distanceTo( new THREE.Vector3( 1, 0, 0 ) ) < TOL, "Passed!" );
var d = new THREE.Ray( new THREE.Vector3( 0, 2, 1 ), new THREE.Vector3( 0, -1, -1).normalize() );
//tilted ray should intersect box at 0,1,0
- ok( d.isIntersectionBox(box) === true, "Passed!" );
+ ok( d.intersectsBox(box) === true, "Passed!" );
ok( d.intersectBox(box).distanceTo( new THREE.Vector3( 0, 1, 0 ) ) < TOL, "Passed!" );
var e = new THREE.Ray( new THREE.Vector3( 1, -2, 1 ), new THREE.Vector3( 0, 1, 0).normalize() );
//handle case where ray is coplanar with one of the boxes side - box in front of ray
- ok( e.isIntersectionBox(box) === true, "Passed!" );
+ ok( e.intersectsBox(box) === true, "Passed!" );
ok( e.intersectBox(box).distanceTo( new THREE.Vector3( 1, -1, 1 ) ) < TOL, "Passed!" );
var f = new THREE.Ray( new THREE.Vector3( 1, -2, 0 ), new THREE.Vector3( 0, -1, 0).normalize() );
//handle case where ray is coplanar with one of the boxes side - box behind ray
- ok( f.isIntersectionBox(box) === false, "Passed!" );
+ ok( f.intersectsBox(box) === false, "Passed!" );
ok( f.intersectBox(box) == null, "Passed!" );
});
@@ -3527,13 +3541,14 @@
test( "setAxisAngleFromRotationMatrix", function() {
var TOL = 1e-9;
-
- var r = new THREE.Matrix4().makeRotationZ(Math.PI / 2);
+
+ // not sure what to do here since THREE.Vector4().setAxisAngleFromRotationMatrix() only accept Matrix3s
+ /*var r = new THREE.Matrix4().makeRotationZ(Math.PI / 2);
var v = new THREE.Vector4().setAxisAngleFromRotationMatrix(r);
ok( v.x == 0, "Passed!" );
ok( v.y == 0, "Passed!" );
ok( v.z == 1, "Passed!" );
- ok( Math.abs(v.w - Math.PI / 2) < TOL, "Passed!" );
+ ok( Math.abs(v.w - Math.PI / 2) < TOL, "Passed!" );*/
});
};
diff --git a/threejs/tests/webgl/webgl_animation_skinning_morph.ts b/threejs/tests/webgl/webgl_animation_skinning_morph.ts
index 7c65905ae..50976c454 100644
--- a/threejs/tests/webgl/webgl_animation_skinning_morph.ts
+++ b/threejs/tests/webgl/webgl_animation_skinning_morph.ts
@@ -186,8 +186,6 @@
var clipBones = geometry.animations[0];
mixer = new THREE.AnimationMixer( mesh );
- mixer.addAction( new THREE.AnimationAction( clipMorpher ) );
- mixer.addAction( new THREE.AnimationAction( clipBones ) );
}
function initGUI() {
diff --git a/threejs/tests/webgl/webgl_lights_heimsphere.ts b/threejs/tests/webgl/webgl_lights_hemisphere.ts
similarity index 98%
rename from threejs/tests/webgl/webgl_lights_heimsphere.ts
rename to threejs/tests/webgl/webgl_lights_hemisphere.ts
index fd2118e62..892b3ed4c 100644
--- a/threejs/tests/webgl/webgl_lights_heimsphere.ts
+++ b/threejs/tests/webgl/webgl_lights_hemisphere.ts
@@ -130,7 +130,6 @@
scene.add( mesh );
var mixer = new THREE.AnimationMixer( mesh );
- mixer.addAction( new THREE.AnimationAction( geometry.animations[ 0 ] ).warpToDuration( 1 ) );
mixers.push( mixer );
} );
diff --git a/threejs/tests/webgl/webgl_materials.ts b/threejs/tests/webgl/webgl_materials.ts
index a78ae152a..5426a1fb2 100644
--- a/threejs/tests/webgl/webgl_materials.ts
+++ b/threejs/tests/webgl/webgl_materials.ts
@@ -62,7 +62,7 @@
materials.push(new THREE.MeshLambertMaterial({ color: 0xdddddd }));
materials.push(new THREE.MeshPhongMaterial({ color: 0xdddddd, specular: 0x009900, shininess: 30, shading: THREE.SmoothShading, map: texture, transparent: true }));
- materials.push(new THREE.MeshNormalMaterial({ shading: THREE.SmoothShading }));
+ materials.push(new THREE.MeshNormalMaterial({}));
materials.push(new THREE.MeshBasicMaterial({ color: 0xffaa00, wireframe: true }));
materials.push(new THREE.MeshDepthMaterial());
diff --git a/threejs/three-tests.ts b/threejs/three-tests.ts
index 2e9f37b10..282f699d2 100644
--- a/threejs/three-tests.ts
+++ b/threejs/three-tests.ts
@@ -35,7 +35,7 @@ THE SOFTWARE.
///
///
///
-///
+///
///
///
///
diff --git a/threejs/three.d.ts b/threejs/three.d.ts
index a65a52afd..14d2c0b4e 100644
--- a/threejs/three.d.ts
+++ b/threejs/three.d.ts
@@ -1,174 +1,194 @@
-// Type definitions for three.js r73
+// Type definitions for three.js r74
// Project: http://mrdoob.github.com/three.js/
-// Definitions by: Kon , Satoru Kimura
-// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
+// Definitions by: Kon , Satoru Kimura , Florent Poujol
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
declare namespace THREE {
- export var REVISION: string;
+ export const REVISION: string;
// https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent.button
export enum MOUSE { LEFT, MIDDLE, RIGHT }
// GL STATE CONSTANTS
export enum CullFace { }
- export var CullFaceNone: CullFace;
- export var CullFaceBack: CullFace;
- export var CullFaceFront: CullFace;
- export var CullFaceFrontBack: CullFace;
+ export const CullFaceNone: CullFace;
+ export const CullFaceBack: CullFace;
+ export const CullFaceFront: CullFace;
+ export const CullFaceFrontBack: CullFace;
export enum FrontFaceDirection { }
- export var FrontFaceDirectionCW: FrontFaceDirection;
- export var FrontFaceDirectionCCW: FrontFaceDirection;
+ export const FrontFaceDirectionCW: FrontFaceDirection;
+ export const FrontFaceDirectionCCW: FrontFaceDirection;
// Shadowing Type
export enum ShadowMapType { }
- export var BasicShadowMap: ShadowMapType;
- export var PCFShadowMap: ShadowMapType;
- export var PCFSoftShadowMap: ShadowMapType;
+ export const BasicShadowMap: ShadowMapType;
+ export const PCFShadowMap: ShadowMapType;
+ export const PCFSoftShadowMap: ShadowMapType;
// MATERIAL CONSTANTS
// side
export enum Side { }
- export var FrontSide: Side;
- export var BackSide: Side;
- export var DoubleSide: Side;
+ export const FrontSide: Side;
+ export const BackSide: Side;
+ export const DoubleSide: Side;
// shading
export enum Shading { }
- export var NoShading: Shading;
- export var FlatShading: Shading;
- export var SmoothShading: Shading;
+ export const FlatShading: Shading;
+ export const SmoothShading: Shading;
// colors
export enum Colors { }
- export var NoColors: Colors;
- export var FaceColors: Colors;
- export var VertexColors: Colors;
+ export const NoColors: Colors;
+ export const FaceColors: Colors;
+ export const VertexColors: Colors;
// blending modes
export enum Blending { }
- export var NoBlending: Blending;
- export var NormalBlending: Blending;
- export var AdditiveBlending: Blending;
- export var SubtractiveBlending: Blending;
- export var MultiplyBlending: Blending;
- export var CustomBlending: Blending;
+ export const NoBlending: Blending;
+ export const NormalBlending: Blending;
+ export const AdditiveBlending: Blending;
+ export const SubtractiveBlending: Blending;
+ export const MultiplyBlending: Blending;
+ export const CustomBlending: Blending;
// custom blending equations
// (numbers start from 100 not to clash with other
// mappings to OpenGL constants defined in Texture.js)
export enum BlendingEquation { }
- export var AddEquation: BlendingEquation;
- export var SubtractEquation: BlendingEquation;
- export var ReverseSubtractEquation: BlendingEquation;
- export var MinEquation: BlendingEquation;
- export var MaxEquation: BlendingEquation;
+ export const AddEquation: BlendingEquation;
+ export const SubtractEquation: BlendingEquation;
+ export const ReverseSubtractEquation: BlendingEquation;
+ export const MinEquation: BlendingEquation;
+ export const MaxEquation: BlendingEquation;
// custom blending destination factors
export enum BlendingDstFactor { }
- export var ZeroFactor: BlendingDstFactor;
- export var OneFactor: BlendingDstFactor;
- export var SrcColorFactor: BlendingDstFactor;
- export var OneMinusSrcColorFactor: BlendingDstFactor;
- export var SrcAlphaFactor: BlendingDstFactor;
- export var OneMinusSrcAlphaFactor: BlendingDstFactor;
- export var DstAlphaFactor: BlendingDstFactor;
- export var OneMinusDstAlphaFactor: BlendingDstFactor;
+ export const ZeroFactor: BlendingDstFactor;
+ export const OneFactor: BlendingDstFactor;
+ export const SrcColorFactor: BlendingDstFactor;
+ export const OneMinusSrcColorFactor: BlendingDstFactor;
+ export const SrcAlphaFactor: BlendingDstFactor;
+ export const OneMinusSrcAlphaFactor: BlendingDstFactor;
+ export const DstAlphaFactor: BlendingDstFactor;
+ export const OneMinusDstAlphaFactor: BlendingDstFactor;
// custom blending src factors
export enum BlendingSrcFactor { }
- export var DstColorFactor: BlendingSrcFactor;
- export var OneMinusDstColorFactor: BlendingSrcFactor;
- export var SrcAlphaSaturateFactor: BlendingSrcFactor;
+ export const DstColorFactor: BlendingSrcFactor;
+ export const OneMinusDstColorFactor: BlendingSrcFactor;
+ export const SrcAlphaSaturateFactor: BlendingSrcFactor;
// depth modes
export enum DepthModes { }
- export var NeverDepth: DepthModes;
- export var AlwaysDepth: DepthModes;
- export var LessDepth: DepthModes;
- export var LessEqualDepth: DepthModes;
- export var EqualDepth: DepthModes;
- export var GreaterEqualDepth: DepthModes;
- export var GreaterDepth: DepthModes;
- export var NotEqualDepth: DepthModes;
+ export const NeverDepth: DepthModes;
+ export const AlwaysDepth: DepthModes;
+ export const LessDepth: DepthModes;
+ export const LessEqualDepth: DepthModes;
+ export const EqualDepth: DepthModes;
+ export const GreaterEqualDepth: DepthModes;
+ export const GreaterDepth: DepthModes;
+ export const NotEqualDepth: DepthModes;
// TEXTURE CONSTANTS
// Operations
export enum Combine { }
- export var MultiplyOperation: Combine;
- export var MixOperation: Combine;
- export var AddOperation: Combine;
+ export const MultiplyOperation: Combine;
+ export const MixOperation: Combine;
+ export const AddOperation: Combine;
// Mapping modes
export enum Mapping { }
- export var UVMapping: Mapping;
- export var CubeReflectionMapping: Mapping;
- export var CubeRefractionMapping: Mapping;
- export var EquirectangularReflectionMapping: Mapping;
- export var EquirectangularRefractionMapping: Mapping;
- export var SphericalReflectionMapping: Mapping;
+ export const UVMapping: Mapping;
+ export const CubeReflectionMapping: Mapping;
+ export const CubeRefractionMapping: Mapping;
+ export const EquirectangularReflectionMapping: Mapping;
+ export const EquirectangularRefractionMapping: Mapping;
+ export const SphericalReflectionMapping: Mapping;
// Wrapping modes
export enum Wrapping { }
- export var RepeatWrapping: Wrapping;
- export var ClampToEdgeWrapping: Wrapping;
- export var MirroredRepeatWrapping: Wrapping;
+ export const RepeatWrapping: Wrapping;
+ export const ClampToEdgeWrapping: Wrapping;
+ export const MirroredRepeatWrapping: Wrapping;
// Filters
export enum TextureFilter { }
- export var NearestFilter: TextureFilter;
- export var NearestMipMapNearestFilter: TextureFilter;
- export var NearestMipMapLinearFilter: TextureFilter;
- export var LinearFilter: TextureFilter;
- export var LinearMipMapNearestFilter: TextureFilter;
- export var LinearMipMapLinearFilter: TextureFilter;
+ export const NearestFilter: TextureFilter;
+ export const NearestMipMapNearestFilter: TextureFilter;
+ export const NearestMipMapLinearFilter: TextureFilter;
+ export const LinearFilter: TextureFilter;
+ export const LinearMipMapNearestFilter: TextureFilter;
+ export const LinearMipMapLinearFilter: TextureFilter;
// Data types
export enum TextureDataType { }
- export var UnsignedByteType: TextureDataType;
- export var ByteType: TextureDataType;
- export var ShortType: TextureDataType;
- export var UnsignedShortType: TextureDataType;
- export var IntType: TextureDataType;
- export var UnsignedIntType: TextureDataType;
- export var FloatType: TextureDataType;
- export var HalfFloatType: TextureDataType;
+ export const UnsignedByteType: TextureDataType;
+ export const ByteType: TextureDataType;
+ export const ShortType: TextureDataType;
+ export const UnsignedShortType: TextureDataType;
+ export const IntType: TextureDataType;
+ export const UnsignedIntType: TextureDataType;
+ export const FloatType: TextureDataType;
+ export const HalfFloatType: TextureDataType;
// Pixel types
export enum PixelType { }
- export var UnsignedShort4444Type: PixelType;
- export var UnsignedShort5551Type: PixelType;
- export var UnsignedShort565Type: PixelType;
+ export const UnsignedShort4444Type: PixelType;
+ export const UnsignedShort5551Type: PixelType;
+ export const UnsignedShort565Type: PixelType;
// Pixel formats
export enum PixelFormat { }
- export var AlphaFormat: PixelFormat;
- export var RGBFormat: PixelFormat;
- export var RGBAFormat: PixelFormat;
- export var LuminanceFormat: PixelFormat;
- export var LuminanceAlphaFormat: PixelFormat;
- export var RGBEFormat: PixelFormat;
+ export const AlphaFormat: PixelFormat;
+ export const RGBFormat: PixelFormat;
+ export const RGBAFormat: PixelFormat;
+ export const LuminanceFormat: PixelFormat;
+ export const LuminanceAlphaFormat: PixelFormat;
+ export const RGBEFormat: PixelFormat;
// Compressed texture formats
// DDS / ST3C Compressed texture formats
export enum CompressedPixelFormat { }
- export var RGB_S3TC_DXT1_Format: CompressedPixelFormat;
- export var RGBA_S3TC_DXT1_Format: CompressedPixelFormat;
- export var RGBA_S3TC_DXT3_Format: CompressedPixelFormat;
- export var RGBA_S3TC_DXT5_Format: CompressedPixelFormat;
+ export const RGB_S3TC_DXT1_Format: CompressedPixelFormat;
+ export const RGBA_S3TC_DXT1_Format: CompressedPixelFormat;
+ export const RGBA_S3TC_DXT3_Format: CompressedPixelFormat;
+ export const RGBA_S3TC_DXT5_Format: CompressedPixelFormat;
// PVRTC compressed texture formats
- export var RGB_PVRTC_4BPPV1_Format: CompressedPixelFormat;
- export var RGB_PVRTC_2BPPV1_Format: CompressedPixelFormat;
- export var RGBA_PVRTC_4BPPV1_Format: CompressedPixelFormat;
- export var RGBA_PVRTC_2BPPV1_Format: CompressedPixelFormat;
+ export const RGB_PVRTC_4BPPV1_Format: CompressedPixelFormat;
+ export const RGB_PVRTC_2BPPV1_Format: CompressedPixelFormat;
+ export const RGBA_PVRTC_4BPPV1_Format: CompressedPixelFormat;
+ export const RGBA_PVRTC_2BPPV1_Format: CompressedPixelFormat;
+
+ // ETC compressed texture formats
+ export const RGB_ETC1_Format: CompressedPixelFormat;
// Loop styles for AnimationAction
export enum AnimationActionLoopStyles { }
- export var LoopOnce: AnimationActionLoopStyles;
- export var LoopRepeat: AnimationActionLoopStyles;
- export var LoopPingPong: AnimationActionLoopStyles;
+ export const LoopOnce: AnimationActionLoopStyles;
+ export const LoopRepeat: AnimationActionLoopStyles;
+ export const LoopPingPong: AnimationActionLoopStyles;
+
+ // Interpolation
+ export enum InterpolationModes { }
+ export const InterpolateDiscrete: InterpolationModes;
+ export const InterpolateLinear: InterpolationModes;
+ export const InterpolateSmooth: InterpolationModes;
+
+ // Interpolant ending modes
+ export enum InterpolationEndingModes { }
+ export const ZeroCurvatureEnding: InterpolationEndingModes;
+ export const ZeroSlopeEnding: InterpolationEndingModes;
+ export const WrapAroundEnding: InterpolationEndingModes;
+
+ // Triangle Draw modes
+ export enum TrianglesDrawModes { }
+ export const TrianglesDrawModesMode: TrianglesDrawModes;
+ export const TriangleStripDrawMode: TrianglesDrawModes;
+ export const TriangleFanDrawMode: TrianglesDrawModes;
// log handlers
export function warn(message?: any, ...optionalParams: any[]): void;
@@ -176,188 +196,170 @@ declare namespace THREE {
export function log(message?: any, ...optionalParams: any[]): void;
// Animation ////////////////////////////////////////////////////////////////////////////////////////
- export class AnimationAction {
- constructor(clip: AnimationClip, startTime?: number, timeScale?: number, weight?: number, loop?: boolean);
-
- clip: AnimationClip
- localRoot: Mesh;
- startTime: number;
- timeScale: number;
- weight: number;
- loop: AnimationActionLoopStyles;
- loopCount: number;
- enabled: boolean;
- actionTime: number;
- clipTime: number;
- propertyBindings: PropertyBinding[];
-
- setLocalRoot( localRoot: Mesh ): AnimationAction;
- updateTime( clipDeltaTime: number ): number;
- syncWith( action: AnimationAction ): AnimationAction;
- warpToDuration( duration: number ): AnimationAction;
- init( time: number ): AnimationAction;
- update( clipDeltaTime: number ): any[];
- getTimeScaleAt( time: number ): number;
- getWeightAt( time: number ): number;
- }
export class AnimationClip {
- constructor( name: string, duration?: number, tracks?: KeyframeTrack[] );
+ constructor( name?: string, duration?: number, tracks?: KeyframeTrack[] );
name: string;
tracks: KeyframeTrack[];
duration: number;
results: any[];
- getAt(clipTime: number): any[];
+ resetDuration(): void;
trim(): AnimationClip;
optimize(): AnimationClip;
static CreateFromMorphTargetSequence( name: string, morphTargetSequence: MorphTarget[], fps: number ): AnimationClip;
- findByName( clipArray: AnimationClip, name: string ): AnimationClip;
+ static findByName( clipArray: AnimationClip, name: string ): AnimationClip;
static CreateClipsFromMorphTargetSequences( morphTargets: MorphTarget[], fps: number ): AnimationClip[];
- parse( json: any ): AnimationClip;
- parseAnimation( animation: any, bones: Bone[], nodeName: string ): AnimationClip;
+ static parse( json: any ): AnimationClip;
+ static parseAnimation( animation: any, bones: Bone[], nodeName: string ): AnimationClip;
+ static toJSON(): any;
}
export class AnimationMixer {
- constructor( root: any );
+ constructor(root: any);
- root: any;
time: number;
timeScale: number;
- actions: AnimationAction;
- propertyBindingMap: any;
- addAction( action: AnimationAction ): void;
- removeAllActions(): AnimationMixer;
- removeAction( action: AnimationAction ): AnimationMixer;
- findActionByName( name: string ): AnimationAction;
- play( action: AnimationAction, optionalFadeInDuration?: number ): AnimationMixer;
- fadeOut( action: AnimationAction, duration: number ): AnimationMixer;
- fadeIn( action: AnimationAction, duration: number ): AnimationMixer;
- warp( action: AnimationAction, startTimeScale: NumberKeyframeTrack, endTimeScale: NumberKeyframeTrack, duration: number ): AnimationMixer;
- crossFade( fadeOutAction: AnimationAction, fadeInAction: AnimationAction, duration: number, warp: boolean ): AnimationMixer;
- update( deltaTime: number ): AnimationMixer;
+ clipAction(clip: AnimationClip, root?: any): any; // returns THREE.AnimationMixer._Action
+ existingAction(clip: AnimationClip, root?: any): any; /// returns THREE.AnimationMixer._Action
+ stopAllAction(clip: AnimationClip, root?: any): AnimationMixer;
+ update(deltaTime: number): AnimationMixer;
+ getRoot(): any;
+ uncacheClip(clip: AnimationClip): void;
+ uncacheRoot(root: any): void;
+ uncazcheAction(clip: AnimationClip, root?: any): void;
}
- export var AnimationUtils: {
- getEqualsFunc( exemplarValue: any ): boolean;
- clone(exemplarValue: T): T;
- lerp( a: any, b: any, alpha: number, interTrack: boolean ): any;
- lerp_object( a: any, b: any, alpha: number ): any;
- slerp_object( a: any, b: any, alpha: number ): any;
- lerp_number( a: any, b: any, alpha: number ): any;
- lerp_boolean( a: any, b: any, alpha: number ): any;
- lerp_boolean_immediate( a: any, b: any, alpha: number ): any;
- lerp_string( a: any, b: any, alpha: number ): any;
- lerp_string_immediate( a: any, b: any, alpha: number ): any;
- getLerpFunc( exemplarValue: any, interTrack: boolean ): Function;
- };
+ export class AnimationObjectGroup {
+ constructor(...args: any[]);
+
+ uuid: string;
+ stats: {
+ bindingsPerObject: number;
+ objects: {
+ total: number;
+ inUse: number;
+ }
+ };
+
+ add(...args: any[]): void;
+ remove(...args: any[]): void;
+ uncache(...args: any[]): void;
+ }
+
+ export namespace AnimationUtils {
+ export function arraySlice(array: any, from: number, to: number): any;
+ export function convertArray(array: any, type: any, forceClone: boolean): any;
+ export function isTypedArray(object: any): boolean;
+ export function getKeyFrameOrder(times: number): number[];
+ export function sortedArray(values: any[], stride: number, order: number[]): any[];
+ export function flattenJSON(jsonKeys: string[], times: any[], values: any[], valuePropertyName: string): void;
+ }
export class KeyframeTrack {
- constructor(name: string, keys: any[]);
+ constructor(name: string, times: any[], values: any[], interpolation: InterpolationModes);
name: string;
- keys: any[];
- lastIndex: number;
+ times: any[];
+ values: any[];
+
+ ValueTypeName: string;
+ TimeBufferType: Float32Array;
+ ValueBufferType: Float32Array;
+
+ DefaultInterpolation: InterpolationModes;
+
+ InterpolantFactoryMethodDiscrete(result: any): DiscreteInterpolant;
+ InterpolantFactoryMethodLinear(result: any): LinearInterpolant;
+ InterpolantFactoryMethodSmooth(result: any): CubicInterpolant;
+
+ setInterpolation(interpolation: InterpolationModes): void;
+ getInterpolation(): InterpolationModes;
+
+ getValuesize(): number;
- getAt( time: number ): any;
shift( timeOffset: number ): KeyframeTrack;
scale( timeScale: number ): KeyframeTrack;
trim( startTime: number, endTime: number ): KeyframeTrack;
- validate(): KeyframeTrack;
+ validate(): boolean;
optimize(): KeyframeTrack;
- keyComparator(key0: KeyframeTrack, key1: KeyframeTrack): number;
- parse( json: any ): KeyframeTrack;
- GetTrackTypeForTypeName( typeName: string ): any;
+ static parse(json: any): KeyframeTrack;
+ static toJSON(track: KeyframeTrack): any;
}
export class PropertyBinding {
- constructor( rootNode: any, trackName: string );
+ constructor(rootNode: any, path: string, parsedPath?: any);
- rootNode: any;
- trackName: string;
- referenceCount: number;
- originalValue: any;
- directoryName: string;
- nodeName: string;
- objectName: string;
- objectIndex: number;
- propertyName: string;
- propertyIndex: number;
+ path: string;
+ parsedPath: any;
node: any;
- cumulativeValue: number;
- cumulativeWeight: number;
+ rootNode: any;
- reset(): void;
- accumulate( value: any, weight: number ): void;
- unbind(): void;
+ getValue(targetArray: any, offset: number): any;
+ setValue(sourceArray: any, offset: number): void;
bind(): void;
- apply(): void;
- parseTrackName( trackName: string ): any;
- findNode( root: any, nodeName: string ): any;
+ unbind(): void;
+
+ BindingType: { [bindingType: string]: number };
+ Versioning: { [versioning: string]: number };
+
+ GetterByBindingType: Function[];
+ SetterByBindingTypeAndVersioning: Array;
+
+ static create(root: any, path: any, parsedPath?: any): PropertyBinding|PropertyBinding.Composite;
+ static parseTrackName(trackName: string): any;
+ static findNode(root: any, nodeName: string): any;
+ }
+
+ export namespace PropertyBinding {
+ export class Composite {
+ constructor(targetGroup: any, path: any, parsedPath?: any);
+
+ getValue(array: any, offset: number): any;
+ setValue(array: any, offset: number): void;
+ bind(): void;
+ unbind(): void;
+ }
+ }
+
+ export class PropertyMixer {
+ constructor(binding: any, typeName: string, valueSize: number);
+
+ binding: any;
+ valueSize: number;
+ buffer: any;
+ cumulativeWeight: number;
+ useCount: number;
+ referenceCount: number;
+
+ accumulate(accuIndex: number, weight: number): void;
+ apply(accuIndex: number): void;
+ saveOriginalState(): void;
+ restoreOriginalState(): void;
}
export class BooleanKeyframeTrack extends KeyframeTrack {
- constructor(name: string, keys: any[]);
-
- result: any;
-
- setResult( value: any ): void;
- lerpValues( value0: any, value1: any, alpha: number ): any;
- compareValues( value0: any, value1: any ): boolean;
- clone(): BooleanKeyframeTrack;
- parse( json: any ): BooleanKeyframeTrack;
+ constructor(name: string, times: any[], values: any[]);
}
- export class NumberKeyframeTrack {
- constructor();
-
- result: any;
-
- setResult( value: any ): void;
- lerpValues( value0: any, value1: any, alpha: number ): any;
- compareValues( value0: any, value1: any ): boolean;
- clone(): NumberKeyframeTrack;
- parse( json: any ): NumberKeyframeTrack;
+ export class NumberKeyframeTrack extends KeyframeTrack {
+ constructor(name: string, times: any[], values: any[], interpolation: InterpolationModes);
}
- export class QuaternionKeyframeTrack {
- constructor();
-
- result: any;
-
- setResult( value: any ): void;
- lerpValues( value0: any, value1: any, alpha: number ): any;
- compareValues( value0: any, value1: any ): boolean;
- clone(): QuaternionKeyframeTrack;
- parse( json: any ): QuaternionKeyframeTrack;
+ export class QuaternionKeyframeTrack extends KeyframeTrack {
+ constructor(name: string, times: any[], values: any[], interpolation: InterpolationModes);
}
- export class StringKeyframeTrack {
- constructor();
-
- result: any;
-
- setResult( value: any ): void;
- lerpValues( value0: any, value1: any, alpha: number ): any;
- compareValues( value0: any, value1: any ): boolean;
- clone(): StringKeyframeTrack;
- parse( json: any ): StringKeyframeTrack;
+ export class StringKeyframeTrack extends KeyframeTrack {
+ constructor(name: string, times: any[], values: any[], interpolation: InterpolationModes);
}
- export class VectorKeyframeTrack {
- constructor();
-
- result: any;
-
- setResult( value: any ): void;
- lerpValues( value0: any, value1: any, alpha: number ): any;
- compareValues( value0: any, value1: any ): boolean;
- clone(): VectorKeyframeTrack;
- parse( json: any ): VectorKeyframeTrack;
+ export class VectorKeyframeTrack extends KeyframeTrack {
+ constructor(name: string, times: any[], values: any[], interpolation: InterpolationModes);
}
// Cameras ////////////////////////////////////////////////////////////////////////////////////////
@@ -394,12 +396,11 @@ declare namespace THREE {
}
export class CubeCamera extends Object3D {
- constructor( near?: number, far?: number, cubeResolution?: number);
+ constructor(near?: number, far?: number, cubeResolution?: number);
renderTarget: WebGLRenderTargetCube;
- updateCubeMap( renderer: Renderer, scene: Scene ): void;
-
+ updateCubeMap(renderer: Renderer, scene: Scene): void;
}
/**
@@ -459,8 +460,8 @@ declare namespace THREE {
*/
updateProjectionMatrix(): void;
clone(): OrthographicCamera;
- copy( source: OrthographicCamera ): OrthographicCamera;
- toJSON( meta?: any ): any;
+ copy(source: OrthographicCamera): OrthographicCamera;
+ toJSON(meta?: any): any;
}
/**
@@ -481,6 +482,7 @@ declare namespace THREE {
*/
constructor(fov?: number, aspect?: number, near?: number, far?: number);
+ focalLength: number;
zoom: number;
/**
@@ -555,8 +557,18 @@ declare namespace THREE {
*/
updateProjectionMatrix(): void;
clone(): PerspectiveCamera;
- copy( source: PerspectiveCamera ): PerspectiveCamera;
- toJSON( meta?: any ): any;
+ copy(source: PerspectiveCamera): PerspectiveCamera;
+ toJSON(meta?: any): any;
+ }
+
+ export class StereoCamera extends Camera {
+ constructor();
+
+ aspect: number;
+ cameraL: PerspectiveCamera;
+ cameraR: PerspectiveCamera;
+
+ update(camera: PerspectiveCamera): void;
}
// Core ///////////////////////////////////////////////////////////////////////////////////////////////
@@ -573,10 +585,7 @@ declare namespace THREE {
dynamic: boolean;
updateRange: {offset:number, count:number};
version: number;
-
needsUpdate: boolean;
- /** Deprecated, use count instead */
- length: number;
count: number;
setDynamic(dynamic: boolean): BufferAttribute;
@@ -602,53 +611,49 @@ declare namespace THREE {
setXYZ(index: number, x: number, y: number, z: number): BufferAttribute;
setXYZW(index: number, x: number, y: number, z: number, w: number): BufferAttribute;
clone(): BufferAttribute;
+
+ length: number; // deprecated, use count
}
- // deprecated (are these actually deprecated?)
- export class Int8Attribute extends BufferAttribute{
+ export class Int8Attribute extends BufferAttribute {
constructor(array: any, itemSize: number);
}
- // deprecated
export class Uint8Attribute extends BufferAttribute {
constructor(array: any, itemSize: number);
}
- // deprecated
export class Uint8ClampedAttribute extends BufferAttribute {
constructor(array: any, itemSize: number);
}
- // deprecated
export class Int16Attribute extends BufferAttribute {
constructor(array: any, itemSize: number);
}
- // deprecated
export class Uint16Attribute extends BufferAttribute {
constructor(array: any, itemSize: number);
}
- // deprecated
export class Int32Attribute extends BufferAttribute {
constructor(array: any, itemSize: number);
}
- // deprecated
export class Uint32Attribute extends BufferAttribute {
constructor(array: any, itemSize: number);
}
- // deprecated
export class Float32Attribute extends BufferAttribute {
constructor(array: any, itemSize: number);
}
- // deprecated
export class Float64Attribute extends BufferAttribute {
constructor(array: any, itemSize: number);
}
+ // deprecated, use new THREE.BufferAttribute().setDynamic( true )
+ export class DynamicBufferAttribute extends BufferAttribute {}
+
/**
* This is a superefficent class for geometries because it saves all data in buffers.
* It reduces memory costs and cpu cycles. But it is not as easy to work with because of all the nessecary buffer calculations.
@@ -674,32 +679,21 @@ declare namespace THREE {
index: BufferAttribute;
attributes: BufferAttribute|InterleavedBufferAttribute[];
morphAttributes: any;
+ drawcalls: any; // deprecated, use groups
+ offsets: any; // deprecated, use groups
groups: {start: number, count: number, materialIndex?: number}[];
boundingBox: Box3;
boundingSphere: BoundingSphere;
drawRange: { start: number, count: number };
- /** Deprecated. */
- addIndex( index: BufferAttribute ): void;
-
getIndex(): BufferAttribute;
setIndex( index: BufferAttribute ): void;
- /** Deprecated. This overloaded method is deprecated. */
- addAttribute(name: string, array: any, itemSize: number): any;
- addAttribute(name: string, attribute: BufferAttribute|InterleavedBufferAttribute): void;
+ addAttribute(name: string, attribute: BufferAttribute|InterleavedBufferAttribute): BufferGeometry;
+
getAttribute(name: string): BufferAttribute|InterleavedBufferAttribute;
- removeAttribute(name: string): void;
+ removeAttribute(name: string): BufferGeometry;
- /** Deprecated. */
- drawcalls(): any;
- /** Deprecated. */
- offsets(): any;
-
- /** Deprecated. Use addGroup */
- addDrawCall(start: number, count: number, index?: number): void;
- /** Deprecated. */
- clearDrawCalls(): void;
addGroup(start: number, count: number, materialIndex?: number): void;
clearGroups(): void;
@@ -724,7 +718,7 @@ declare namespace THREE {
fromGeometry(geometry: Geometry, settings?: any): BufferGeometry;
- fromDirectGeometry( geometry: DirectGeometry ): BufferGeometry;
+ fromDirectGeometry(geometry: DirectGeometry): BufferGeometry;
/**
* Computes bounding box of the geometry, updating Geometry.boundingBox attribute.
@@ -738,17 +732,16 @@ declare namespace THREE {
*/
computeBoundingSphere(): void;
- // deprecated
- computeFaceNormals(): void;
-
/**
* Computes vertex normals by averaging face normals.
*/
computeVertexNormals(): void;
- computeOffsets(size: number): void;
merge(geometry: BufferGeometry, offset: number): BufferGeometry;
normalizeNormals(): void;
+
+ toNonIndexed(): BufferGeometry;
+
toJSON(): any;
clone(): BufferGeometry;
copy(source: BufferGeometry): BufferGeometry;
@@ -759,23 +752,17 @@ declare namespace THREE {
*/
dispose(): void;
-
// EventDispatcher mixins
addEventListener(type: string, listener: (event: any) => void ): void;
hasEventListener(type: string, listener: (event: any) => void): void;
removeEventListener(type: string, listener: (event: any) => void): void;
dispatchEvent(event: { type: string; target: any; }): void;
- }
- export class Channels {
- constructor();
-
- mask: number;
-
- set( channel: number ): void;
- enable( channel: number ): void;
- toggle( channel: number ): void;
- disable( channel: number ): void;
+ addIndex(index: any): void; // deprecated, use setIndex()
+ addAttribute(name: any, array: any, itemSize: any): any; // deprecated
+ addDrawCall(start: any, count: any, indexOffset?: any): void; // deprecated, use addGroup()
+ clearDrawCalls(): void; // deprecated, use clearGroups()
+ computeFaceNormals(): void; // deprecated
}
/**
@@ -879,6 +866,7 @@ declare namespace THREE {
dispatchEvent(event: { type: string; target: any; }): void;
}
+
/**
* JavaScript events for custom objects
*
@@ -910,6 +898,8 @@ declare namespace THREE {
*/
constructor();
+ apply(object: any): void;
+
/**
* Adds a listener to an event type.
* @param type The type of the listener that gets removed.
@@ -997,19 +987,17 @@ declare namespace THREE {
*/
vertexColors: Color[];
- /**
- * Array of 4 vertex tangets.
- */
- vertexTangents: number[];
-
/**
* Material index (points to {@link Geometry.materials}).
*/
materialIndex: number;
clone(): Face3;
+ copy(source: Face3): Face3;
}
+ export class Face4 extends Face3 {} // deprecated, use Face3
+
export interface MorphTarget {
name: string;
vertices: Vector3[];
@@ -1029,6 +1017,8 @@ declare namespace THREE {
radius: number;
}
+ export let GeometryIdCount: number;
+
/**
* Base class for geometries
*
@@ -1085,7 +1075,7 @@ declare namespace THREE {
* Each UV layer is an array of UV matching order and number of vertices in faces.
* To signal an update in this array, Geometry.uvsNeedUpdate needs to be set to true.
*/
- faceVertexUvs: Vector2[][][];
+ faceVertexUvs: Vector2[][];
/**
* Array of morph targets. Each morph target is a Javascript object:
@@ -1176,12 +1166,8 @@ declare namespace THREE {
scale(x: number, y: number, z: number): Geometry;
lookAt( vector: Vector3 ): void;
-
fromBufferGeometry(geometry: BufferGeometry): Geometry;
- /**
- *
- */
center(): Vector3;
normalize(): Geometry;
@@ -1215,9 +1201,9 @@ declare namespace THREE {
*/
computeBoundingSphere(): void;
- merge( geometry: Geometry, matrix: Matrix, materialIndexOffset?: number): void;
+ merge(geometry: Geometry, matrix: Matrix, materialIndexOffset?: number): void;
- mergeMesh( mesh: Mesh ): void;
+ mergeMesh(mesh: Mesh): void;
/**
* Checks for duplicate vertices using hashmap.
@@ -1255,11 +1241,17 @@ declare namespace THREE {
dispatchEvent(event: { type: string; target: any; }): void;
}
+ export namespace GeometryUtils { // deprecated
+ export function merge(goemetry1: any, goemetry2: any, materialIndexOffset?: any): any; // deprecated, use geometry.merge( geometry2, matrix, materialIndexOffset )
+ export function center(geometry: any): any; // deprecated, use geometry.center()
+ }
+
/**
* @see src/core/InstancedBufferAttribute.js
*/
export class InstancedBufferAttribute extends BufferAttribute {
constructor(data: ArrayLike, itemSize: number, meshPerAttribute?: number);
+
meshPerAttribute: number;
clone(): InstancedBufferAttribute;
@@ -1271,33 +1263,25 @@ declare namespace THREE {
*/
export class InstancedBufferGeometry extends BufferGeometry {
constructor();
- groups: {start:number, count:number, instances:number}[];
- addGroup(start: number, count: number, instances: number): void;
+ groups: {start:number, count:number, instances:number}[];
+ maxInstancedCount: number;
+
+ addGroup(start: number, count: number, instances: number): void;
clone(): InstancedBufferGeometry;
copy(source: InstancedBufferGeometry): InstancedBufferGeometry;
}
- /**
- * @see src/core/InstancedInterleavedBuffer.js
- */
- export class InstancedInterleavedBuffer extends InterleavedBuffer {
- constructor(array: ArrayLike, stride: number, meshPerAttribute?: number);
- meshPerAttribute: number;
-
- clone(): InstancedInterleavedBuffer;
- copy(source: InstancedInterleavedBuffer): InstancedInterleavedBuffer;
- }
-
/**
* @see src/core/InterleavedBuffer.js
*/
export class InterleavedBuffer {
constructor(array: ArrayLike, stride: number);
+
array: ArrayLike;
stride: number;
dynamic: boolean;
- updateRange: {offset:number, count:number};
+ updateRange: { offset: number; count: number };
version: number;
length: number;
count: number;
@@ -1311,6 +1295,18 @@ declare namespace THREE {
clone(): InterleavedBuffer;
}
+ /**
+ * @see src/core/InstancedInterleavedBuffer.js
+ */
+ export class InstancedInterleavedBuffer extends InterleavedBuffer {
+ constructor(array: ArrayLike, stride: number, meshPerAttribute?: number);
+
+ meshPerAttribute: number;
+
+ clone(): InstancedInterleavedBuffer;
+ copy(source: InstancedInterleavedBuffer): InstancedInterleavedBuffer;
+ }
+
/**
* @see src/core/InterleavedBufferAttribute.js
*/
@@ -1321,8 +1317,6 @@ declare namespace THREE {
data: InterleavedBuffer;
itemSize: number;
offset: number;
- /** Deprecated, use count instead */
- length: number;
count: number;
getX(index: number): number;
@@ -1336,8 +1330,12 @@ declare namespace THREE {
setXY(index: number, x: number, y: number): InterleavedBufferAttribute;
setXYZ(index: number, x: number, y: number, z: number): InterleavedBufferAttribute;
setXYZW(index: number, x: number, y: number, z: number, w: number): InterleavedBufferAttribute;
+
+ length: number; // deprecated, use count instead
}
+ export let Object3DIdCount: number;
+
/**
* Base class for scene graph objects
*/
@@ -1366,8 +1364,6 @@ declare namespace THREE {
*/
parent: Object3D;
- channels: Channels;
-
/**
* Array with object's children.
*/
@@ -1387,6 +1383,7 @@ declare namespace THREE {
* Object's local rotation (Euler angles), in radians.
*/
rotation: Euler;
+ eulerOrder: string; // deprecated, use rotation.order
/**
* Global rotation.
@@ -1427,6 +1424,7 @@ declare namespace THREE {
*/
matrixWorldNeedsUpdate: boolean;
+ layers: Layers;
/**
* Object gets rendered if true.
*/
@@ -1458,7 +1456,7 @@ declare namespace THREE {
*
*/
static DefaultUp: Vector3;
- static DefaultMatrixAutoUpdate: Vector3;
+ static DefaultMatrixAutoUpdate: boolean;
/**
* This updates the position, rotation and scale with the matrix.
@@ -1473,7 +1471,7 @@ declare namespace THREE {
/**
*
*/
- setRotationFromEuler(euler: Euler ): void;
+ setRotationFromEuler(euler: Euler): void;
/**
*
@@ -1483,7 +1481,7 @@ declare namespace THREE {
/**
*
*/
- setRotationFromQuaternion( q: Quaternion ): void;
+ setRotationFromQuaternion(q: Quaternion): void;
/**
* Rotate an object along an axis in object space. The axis is assumed to be normalized.
@@ -1515,13 +1513,7 @@ declare namespace THREE {
* @param distance The distance to translate.
*/
translateOnAxis(axis: Vector3, distance: number): Object3D;
-
- /**
- *
- * @param distance
- * @param axis
- */
- translate( distance: number, axis: Vector3 ): Object3D;
+ translate(distance: number, axis: Vector3): Object3D; // deprecated, use translateOnAxis(axis, distance)
/**
* Translates object along x axis by distance.
@@ -1569,9 +1561,6 @@ declare namespace THREE {
*/
remove(object: Object3D): void;
- /* deprecated */
- getChildByName( name: string ): Object3D;
-
/**
* Searches through the object's children and returns the first with a matching id, optionally recursive.
* @param id Unique number of the object instance
@@ -1594,11 +1583,11 @@ declare namespace THREE {
raycast(raycaster: Raycaster, intersects: any): void;
- traverse(callback: (object: Object3D) => void): void;
+ traverse(callback: (object: Object3D) => any): void;
- traverseVisible(callback: (object: Object3D) => void): void;
+ traverseVisible(callback: (object: Object3D) => any): void;
- traverseAncestors(callback: (object: Object3D) => void): void;
+ traverseAncestors(callback: (object: Object3D) => any): void;
/**
* Updates local transform.
@@ -1610,7 +1599,7 @@ declare namespace THREE {
*/
updateMatrixWorld(force: boolean): void;
- toJSON(meta?: any): any;
+ toJSON(meta?: { geometries: any, materials: any, textures: any, images: any }): any;
clone(recursive?: boolean): Object3D;
@@ -1627,6 +1616,7 @@ declare namespace THREE {
removeEventListener(type: string, listener: (event: any) => void): void;
dispatchEvent(event: { type: string; target: any; }): void;
+ getChildByName(name: string): Object3D; // deprecated, use getObjectByName()
}
export interface Intersection {
@@ -1643,7 +1633,7 @@ declare namespace THREE {
Mesh?: any;
Line?: any;
LOD?: any;
- Points?: any;
+ Points?: { threshold: number };
Sprite?: any;
}
@@ -1656,38 +1646,58 @@ declare namespace THREE {
params: RaycasterParameters;
precision: number;
linePrecision: number;
+
set(origin: Vector3, direction: Vector3): void;
setFromCamera(coords: { x: number; y: number;}, camera: Camera ): void;
intersectObject(object: Object3D, recursive?: boolean): Intersection[];
intersectObjects(objects: Object3D[], recursive?: boolean): Intersection[];
}
+ export class Layers {
+ constructor();
+
+ mask: number;
+
+ set(channel: number): void;
+ enable(channel: number): void;
+ toggle(channel: number): void;
+ disable(channel: number): void;
+ test(layers: Layers): boolean;
+ }
+
+ export class Font {
+ constructor(data: any);
+
+ data: any;
+
+ generateShapes(text: string, size: number, divisions: number): any[];
+ }
+
// Lights //////////////////////////////////////////////////////////////////////////////////
/**
* Abstract base class for lights.
*/
export class Light extends Object3D {
- constructor(hex?: number|string);
+ constructor(hex?: number|string, intensity?: number);
color: Color;
+ intensity: number;
receiveShadow: boolean;
+ shadow: LightShadow;
+ shadowCameraFov: any; // deprecated, use shadow.camera.fov
+ shadowCameraLeft: any; // deprecated, use shadow.camera.left
+ shadowCameraRight: any; // deprecated, use shadow.camera.right
+ shadowCameraTop: any; // deprecated, use shadow.camera.top
+ shadowCameraBottom: any; // deprecated, use shadow.camera.bottom
+ shadowCameraNear: any; // deprecated, use shadow.camera.near
+ shadowCameraFar: any; // deprecated, use shadow.camera.far
+ shadowBias: any; // deprecated, use shadow.bias
+ shadowMapWidth: any; // deprecated, use shadow.mapSize.width
+ shadowMapHeight: any; // deprecated, use shadow.mapSize.height
- shadowCameraFov: number;
- shadowCameraLeft: number;
- shadowCameraRight: number;
- shadowCameraTop: number;
- shadowCameraBottom: number;
- shadowCameraNear: number;
- shadowCameraFar: number;
- shadowBias: number;
- shadowDarkness: number;
- shadowMapWidth: number;
- shadowMapHeight: number;
-
+ copy(source: Light): Light;
clone(recursive?: boolean): Light;
- copy( source: Light ): Light;
- toJSON( meta: any ): any;
}
export class LightShadow {
@@ -1695,13 +1705,13 @@ declare namespace THREE {
camera: Camera;
bias: number;
- darkness: number;
+ radius: number;
mapSize: Vector2;
map: RenderTarget;
matrix: Matrix4;
- copy(source: LightShadow): void;
- clone(): LightShadow;
+ copy(source: LightShadow): LightShadow;
+ clone(recursive?: boolean): LightShadow;
}
/**
@@ -1718,10 +1728,12 @@ declare namespace THREE {
* This creates a Ambientlight with a color.
* @param hex Numeric value of the RGB component of the color.
*/
- constructor(hex?: number|string);
+ constructor(hex?: number|string, intensity?: number);
+
+ castShadow: boolean;
- clone(recursive?: boolean): AmbientLight;
copy(source: AmbientLight): AmbientLight;
+ clone(recursive?: boolean): AmbientLight;
}
/**
@@ -1736,7 +1748,6 @@ declare namespace THREE {
* @see src/lights/DirectionalLight.js
*/
export class DirectionalLight extends Light {
-
constructor(hex?: number|string, intensity?: number);
/**
@@ -1752,8 +1763,8 @@ declare namespace THREE {
shadow: LightShadow;
- clone(recursive?: boolean): DirectionalLight;
copy(source: DirectionalLight): DirectionalLight;
+ clone(recursive?: boolean): HemisphereLight;
}
export class HemisphereLight extends Light {
@@ -1762,8 +1773,8 @@ declare namespace THREE {
groundColor: Color;
intensity: number;
- clone(recursive?: boolean): HemisphereLight;
copy(source: HemisphereLight): HemisphereLight;
+ clone(recursive?: boolean): HemisphereLight;
}
/**
@@ -1793,8 +1804,8 @@ declare namespace THREE {
shadow: LightShadow;
- clone(recursive?: boolean): PointLight;
copy(source: PointLight): PointLight;
+ clone(recursive?: boolean): PointLight;
}
/**
@@ -1843,11 +1854,6 @@ declare namespace THREE {
// Loaders //////////////////////////////////////////////////////////////////////////////////
- export interface Progress {
- total: number;
- loaded: number;
- }
-
/**
* Base class for implementing loaders.
*
@@ -1896,54 +1902,32 @@ declare namespace THREE {
}
export interface LoaderHandler{
- handlers:any[];
- add(regex:string, loader:Loader):void;
- get(file: string):Loader;
+ handlers: any[];
+
+ add(regex: string, loader: Loader): void;
+ get(file: string): Loader;
}
- export class BinaryTextureLoader {
+ export class XHRLoader {
constructor(manager?: LoadingManager);
manager: LoadingManager;
- load(url: string, onLoad: (dataTexture: DataTexture) => void, onProgress?: (event: any) => void, onError?: (event: any) => void): void;
- setCrossOrigin(crossOrigin: string): void;
+ path: string;
+ responseType: string;
+ withCredentials: boolean;
+
+ load(url: string, onLoad?: (responseText: string) => void, onProgress?: (event: any) => void, onError?: (event: any) => void): any;
+ setPath(path: string): void;
+ setResponseType(responseType: string): void;
+ setWithCredentials(withCredentials: boolean): void;
}
- export class BufferGeometryLoader {
+ export class FontLoader {
constructor(manager?: LoadingManager);
manager: LoadingManager;
- load(url: string, onLoad: (bufferGeometry: BufferGeometry) => void, onProgress?: (event: any) => void, onError?: (event: any) => void): void;
- setCrossOrigin(crossOrigin: string): void;
- parse(json: any): BufferGeometry;
- }
-
- export interface Cache {
- enabled: boolean;
- files: any[];
-
- add(key: string, file: any): void;
- get(key: string): any;
- remove(key: string): void;
- clear(): void;
- }
- export var Cache: Cache;
-
- export class CompressedTextureLoader{
- constructor(manager?: LoadingManager);
-
- manager: LoadingManager;
- load(url: string, onLoad: (texture: CompressedTexture) => void, onProgress?: (event: any) => void, onError?: (event: any) => void): void;
- setCrossOrigin(crossOrigin: string): void;
- }
-
- export class CubeTextureLoader {
- constructor(manager?: LoadingManager);
-
- manager: LoadingManager;
- load(urls: Array, onLoad?: (texture: CubeTexture) => void, onProgress?: (event: any) => void, onError?: (event: any) => void): void;
- setCrossOrigin(crossOrigin: string): void;
+ load(url: string, onLoad?: (responseText: string) => void, onProgress?: (event: any) => void, onError?: (event: any) => void): void;
}
/**
@@ -1953,17 +1937,17 @@ declare namespace THREE {
export class ImageLoader {
constructor(manager?: LoadingManager);
- cache: Cache;
manager: LoadingManager;
crossOrigin: string;
+ path: string;
/**
* Begin loading from url
* @param url
*/
load(url: string, onLoad?: (image: HTMLImageElement) => void, onProgress?: (event: any) => void, onError?: (event: any) => void): HTMLImageElement;
-
setCrossOrigin(crossOrigin: string): void;
+ setPath(value: any): void;
}
/**
@@ -1971,12 +1955,12 @@ declare namespace THREE {
*/
export class JSONLoader extends Loader {
constructor(manager?: LoadingManager);
+
manager: LoadingManager;
withCredentials: boolean;
+ statusDomElement: HTMLElement; // readonly and deprecated
load(url: string, onLoad?: (geometry: Geometry, materials: Material[]) => void, onProgress?: (event: any) => void, onError?: (event: any) => void): void;
-
- setCrossOrigin(crossOrigin: string): void;
setTexturePath( value: string ): void;
parse(json: any, texturePath?: string): { geometry: Geometry; materials?: Material[] };
}
@@ -2012,18 +1996,26 @@ declare namespace THREE {
itemError(url: string): void;
}
- export var DefaultLoadingManager: LoadingManager;
+ export const DefaultLoadingManager: LoadingManager;
+
+ export class BufferGeometryLoader {
+ constructor(manager?: LoadingManager);
+
+ manager: LoadingManager;
+
+ load(url: string, onLoad: (bufferGeometry: BufferGeometry) => void, onProgress?: (event: any) => void, onError?: (event: any) => void): void;
+ parse(json: any): BufferGeometry;
+ }
export class MaterialLoader {
constructor(manager?: LoadingManager);
manager: LoadingManager;
- textures: { [key:string]:Texture };
+ textures: { [key: string]: Texture };
load(url: string, onLoad: (material: Material) => void): void;
- setCrossOrigin(crossOrigin: string): void;
- setTextures(textures: { [key:string]:Texture }): void;
- getTexture( name: string ):Texture;
+ setTextures(textures: { [key: string]: Texture }): void;
+ getTexture(name: string): Texture;
parse(json: any): Material;
}
@@ -2032,6 +2024,7 @@ declare namespace THREE {
manager: LoadingManager;
texturePass: string;
+ crossOrigin: string;
load(url: string, onLoad?: (object: Object3D) => void): void;
setTexturePath( value: string ): void;
@@ -2039,10 +2032,10 @@ declare namespace THREE {
parse(json: any, onLoad?: (object: Object3D) => void): T;
parseGeometries(json: any): any[]; // Array of BufferGeometry or Geometry or Geometry2.
parseMaterials(json: any, textures: Texture[]): Material[]; // Array of Classes that inherits from Matrial.
- parseImages( json: any, onLoad: () => void ): any[];
- parseTextures( json: any, images: any ): Texture[];
+ parseAnimations(json: any): AnimationClip[];
+ parseImages(json: any, onLoad: () => void): any[];
+ parseTextures(json: any, images: any): Texture[];
parseObject(data: any, geometries: any[], materials: Material[]): T;
-
}
/**
@@ -2054,6 +2047,7 @@ declare namespace THREE {
manager: LoadingManager;
crossOrigin: string;
+ path: string;
/**
* Begin loading from url
@@ -2062,23 +2056,53 @@ declare namespace THREE {
*/
load(url: string, onLoad?: (texture: Texture) => void): Texture;
setCrossOrigin(crossOrigin: string): void;
+ setPath(path: string): void;
}
- export class XHRLoader {
+ export class CubeTextureLoader {
constructor(manager?: LoadingManager);
- cache: Cache;
manager: LoadingManager;
- responseType: string;
- crossOrigin: string;
+ corssOrigin: string;
+ path: string;
- load(url: string, onLoad?: (responseText: string) => void, onProgress?: (event: any) => void, onError?: (event: any) => void): any;
- setResponseType(responseType: string): void;
+ load(urls: Array, onLoad?: (texture: CubeTexture) => void, onProgress?: (event: any) => void, onError?: (event: any) => void): void;
setCrossOrigin(crossOrigin: string): void;
- setWithCredentials( withCredentials: string ): void;
+ setPath(path: string): void;
+ }
+
+ export class BinaryTextureLoader {
+ constructor(manager?: LoadingManager);
+
+ manager: LoadingManager;
+
+ load(url: string, onLoad: (dataTexture: DataTexture) => void, onProgress?: (event: any) => void, onError?: (event: any) => void): void;
+ }
+ export class DataTextureLoader extends BinaryTextureLoader {}
+
+ export class CompressedTextureLoader {
+ constructor(manager?: LoadingManager);
+
+ manager: LoadingManager;
+ path: string;
+
+ load(url: string, onLoad: (texture: CompressedTexture) => void, onProgress?: (event: any) => void, onError?: (event: any) => void): void;
+ setPath(path: string): void;
+ }
+
+ export namespace Cache {
+ export let enabled: boolean;
+ export let files: any;
+
+ export function add(key: string, file: any): void;
+ export function get(key: string): any;
+ export function remove(key: string): void;
+ export function clear(): void;
}
// Materials //////////////////////////////////////////////////////////////////////////////////
+ export let MaterialIdCount: number;
+
export interface MaterialParameters {
name?: string;
side?: Side;
@@ -2088,15 +2112,20 @@ declare namespace THREE {
blendSrc?: BlendingDstFactor;
blendDst?: BlendingSrcFactor;
blendEquation?: BlendingEquation;
+ blendSrcAlpha?: number;
+ blendDstAlpha?: number;
+ blendEquationAlpha?: number;
+ depthFunc?: DepthModes;
depthTest?: boolean;
depthWrite?: boolean;
+ colorWrite?: boolean;
+ precision?: number;
polygonOffset?: boolean;
polygonOffsetFactor?: number;
polygonOffsetUnits?: number;
alphaTest?: number;
overdraw?: number;
visible?: boolean;
- needsUpdate?: boolean;
}
/**
@@ -2213,10 +2242,12 @@ declare namespace THREE {
*/
needsUpdate: boolean;
- setValues(values: Object): void;
+ warpRGB: Color; // deprecated, returns a new Color intance
+
+ setValues(parameters: MaterialParameters): void;
toJSON(meta?: any): any;
clone(): Material;
- clone(source?:Material): Material;
+ copy(source: Material): Material;
update(): void;
dispose(): void;
@@ -2246,6 +2277,7 @@ declare namespace THREE {
vertexColors: Colors;
fog: boolean;
+ setValues(parameters: LineBasicMaterialParameters): void;
clone(): LineBasicMaterial;
copy(source: LineBasicMaterial): LineBasicMaterial;
}
@@ -2271,6 +2303,7 @@ declare namespace THREE {
vertexColors: Colors;
fog: boolean;
+ setValues(parameters: LineDashedMaterialParameters): void;
clone(): LineDashedMaterial;
copy(source: LineDashedMaterial): LineDashedMaterial;
}
@@ -2278,7 +2311,7 @@ declare namespace THREE {
/**
* parameters is an object with one or more properties defining the material's appearance.
*/
- export interface MeshBasicMaterialParameters extends MaterialParameters{
+ export interface MeshBasicMaterialParameters extends MaterialParameters {
color?: number|string;
opacity?: number;
map?: Texture;
@@ -2296,6 +2329,8 @@ declare namespace THREE {
depthWrite?: boolean;
wireframe?: boolean;
wireframeLinewidth?: number;
+ wireframeLinecap?: string;
+ wireframeLinejoin?: string;
vertexColors?: Colors;
skinning?: boolean;
morphTargets?: boolean;
@@ -2325,11 +2360,12 @@ declare namespace THREE {
skinning: boolean;
morphTargets: boolean;
+ setValues(parameters: MeshBasicMaterialParameters): void;
clone(): MeshBasicMaterial;
copy(source: MeshBasicMaterial): MeshBasicMaterial;
}
- export interface MeshDepthMaterialParameters extends MaterialParameters{
+ export interface MeshDepthMaterialParameters extends MaterialParameters {
wireframe?: boolean;
wireframeLinewidth?: number;
}
@@ -2340,15 +2376,21 @@ declare namespace THREE {
wireframe: boolean;
wireframeLinewidth: number;
+ setValues(parameters: MeshDepthMaterialParameters): void;
clone(): MeshDepthMaterial;
copy(source: MeshDepthMaterial): MeshDepthMaterial;
}
- export interface MeshLambertMaterialParameters extends MaterialParameters{
+ export interface MeshLambertMaterialParameters extends MaterialParameters {
color?: number|string;
- emissive?: number;
- opacity?: number;
+ emissive?: number|string;
+ emissiveIntensity?: number;
+ emissiveMap?: Texture;
map?: Texture;
+ lighhtMap?: Texture;
+ lightMapIntensity?: number;
+ aoMap?: Texture;
+ aoMapIntensity?: number;
specularMap?: Texture;
alphaMap?: Texture;
envMap?: Texture;
@@ -2358,6 +2400,8 @@ declare namespace THREE {
fog?: boolean;
wireframe?: boolean;
wireframeLinewidth?: number;
+ wireframeLinecap?: string;
+ wireframeLinejoin?: string;
vertexColors?: Colors;
skinning?: boolean;
morphTargets?: boolean;
@@ -2368,8 +2412,14 @@ declare namespace THREE {
constructor(parameters?: MeshLambertMaterialParameters);
color: Color;
- emissive: Color;
+ emissive: number|string;
+ emissiveIntensity: number;
+ emissiveMap: Texture;
map: Texture;
+ lighhtMap: Texture;
+ lightMapIntensity: number;
+ aoMap: Texture;
+ aoMapIntensity: number;
specularMap: Texture;
alphaMap: Texture;
envMap: Texture;
@@ -2386,22 +2436,94 @@ declare namespace THREE {
morphTargets: boolean;
morphNormals: boolean;
+ setValues(parameters: MeshLambertMaterialParameters): void;
clone(): MeshLambertMaterial;
copy(source: MeshLambertMaterial): MeshLambertMaterial;
}
- export interface MeshNormalMaterialParameters extends MaterialParameters{
- opacity?: number;
+ export interface MeshStandardMaterialParameters extends MaterialParameters {
+ color?: number|string;
+ roughtness?: number;
+ metalness?: number;
+ lighhtMap?: Texture;
+ lightMapIntensity?: number;
+ aoMap?: Texture;
+ aoMapIntensity?: number;
+ emissive?: Color;
+ emissiveIntensity?: number;
+ emissiveMap?: Texture;
+ bumpMap?: Texture;
+ bumpScale?: number;
+ normalMap?: Texture;
+ normalScale?: number;
+ displacementMap?: Texture;
+ displacementScale?: number;
+ displacementBias?: number;
+ roughtnessMap?: Texture;
+ metalMap?: Texture;
+ alphaMap?: Texture;
+ envMap?: Texture;
+ envMapIntensity?: number;
+ refractionRatio?: number;
shading?: Shading;
- blending?: Blending;
- depthTest?: boolean;
- depthWrite?: boolean;
+ blending: Blending;
+ wireframe?: boolean;
+ wireframeLinewidth?: number;
+ vertexColors?: Colors;
+ skinning?: boolean;
+ morphTargets?: boolean;
+ morphNormals?: boolean;
+ fog?: boolean;
+ }
+ export class MeshStandardMaterial extends Material {
+ constructor(parameters?: MeshStandardMaterialParameters);
+
+ color: Color;
+ roughtness: number;
+ metalness: number;
+ map: Texture;
+ lighhtMap: Texture;
+ lightMapIntensity: number;
+ aoMap: Texture;
+ aoMapIntensity: number;
+ emissive: Color;
+ emissiveIntensity: number;
+ emissiveMap: Texture;
+ bumpMap: Texture;
+ bumpScale: number;
+ normalMap: Texture;
+ normalScale: number;
+ displacementMap: Texture;
+ displacementScale: number;
+ displacementBias: number;
+ roughtnessMap: Texture;
+ metalMap: Texture;
+ alphaMap: Texture;
+ envMap: Texture;
+ envMapIntensity: number;
+ refractionRatio: number;
+ shading: Shading;
+ blending: Blending;
+ wireframe: boolean;
+ wireframeLinewidth: number;
+ vertexColors: Colors;
+ skinning: boolean;
+ morphTargets: boolean;
+ morphNormals: boolean;
+ fog: boolean;
+
+ setValues(parameters: MeshStandardMaterialParameters): void;
+ clone(): MeshStandardMaterial;
+ copy(source: MeshStandardMaterial): MeshStandardMaterial;
+ }
+
+ export interface MeshNormalMaterialParameters extends MaterialParameters {
/** Render geometry as wireframe. Default is false (i.e. render as smooth shaded). */
wireframe?: boolean;
/** Controls wireframe thickness. Default is 1. */
wireframeLinewidth?: number;
-
+ morphTargets?: boolean;
}
export class MeshNormalMaterial extends Material {
@@ -2411,14 +2533,14 @@ declare namespace THREE {
wireframeLinewidth: number;
morphTargets: boolean;
+ setValues(parameters: MeshNormalMaterialParameters): void;
clone(): MeshNormalMaterial;
copy(source: MeshNormalMaterial): MeshNormalMaterial;
}
export interface MeshPhongMaterialParameters extends MaterialParameters {
/** geometry color in hexadecimal. Default is 0xffffff. */
- color?: number | string;
- emissive?: number;
+ color?: number|string;
specular?: number;
shininess?: number;
opacity?: number;
@@ -2427,6 +2549,8 @@ declare namespace THREE {
lightMapIntensity?: number;
aoMap?: Texture;
aoMapIntensity?: number;
+ emissive?: number;
+ emissiveIntensity?: number;
emissiveMap?: Texture;
bumpMap?: Texture;
bumpScale?: number;
@@ -2447,6 +2571,8 @@ declare namespace THREE {
depthWrite?: boolean;
wireframe?: boolean;
wireframeLinewidth?: number;
+ wireframeLinecap?: string;
+ wireframeLinejoin?: string;
vertexColors?: Colors;
skinning?: boolean;
morphTargets?: boolean;
@@ -2458,15 +2584,15 @@ declare namespace THREE {
constructor(parameters?: MeshPhongMaterialParameters);
color: Color; // diffuse
- emissive: Color;
specular: Color;
shininess: number;
- metal: boolean;
map: Texture;
lightMap: Texture;
lightMapIntensity: number;
aoMap: Texture;
aoMapIntensity: number;
+ emissive: Color;
+ emissiveIntensity: number;
emissiveMap: Texture;
bumpMap: Texture;
bumpScale: number;
@@ -2491,7 +2617,9 @@ declare namespace THREE {
skinning: boolean;
morphTargets: boolean;
morphNormals: boolean;
+ metal: boolean; // deprecated
+ setValues(parameters: MeshPhongMaterialParameters): void;
clone(): MeshPhongMaterial;
copy(source: MeshPhongMaterial): MeshPhongMaterial;
}
@@ -2500,18 +2628,16 @@ declare namespace THREE {
// See tests/canvas/canvas_materials.ts.
export class MultiMaterial extends Material {
constructor(materials?: Material[]);
+
materials: Material[];
- toJSON(): any;
+ toJSON(meta: any): any;
clone(): MultiMaterial;
}
- // deprecated
- export class MeshFaceMaterial extends MultiMaterial {
+ export class MeshFaceMaterial extends MultiMaterial {} // deprecated, use MultiMaterial
- }
-
- export interface PointsMaterialParameters extends MaterialParameters{
+ export interface PointsMaterialParameters extends MaterialParameters {
color?: number|string;
opacity?: number;
map?: Texture;
@@ -2534,13 +2660,14 @@ declare namespace THREE {
vertexColors: boolean;
fog: boolean;
+ setValues(parameters: PointsMaterialParameters): void;
clone(): PointsMaterial;
copy(source: PointsMaterial): PointsMaterial;
}
- export class RawShaderMaterial extends ShaderMaterial {
- constructor(parameters?: ShaderMaterialParameters);
- }
+ export class PointCloudMaterial extends PointsMaterial {} // deprecated, use PointsMaterial
+ export class ParticleBasicMaterial extends PointsMaterial {} // deprecated, use PointsMaterial
+ export class ParticleSystemMaterial extends PointsMaterial {} // deprecated, use PointsMaterial
export interface ShaderMaterialParameters extends MaterialParameters {
defines?: any;
@@ -2548,6 +2675,7 @@ declare namespace THREE {
fragmentShader?: string;
vertexShader?: string;
shading?: Shading;
+ lineWidth?: number;
blending?: Blending;
depthTest?: boolean;
depthWrite?: boolean;
@@ -2578,15 +2706,21 @@ declare namespace THREE {
skinning: boolean;
morphTargets: boolean;
morphNormals: boolean;
- derivatives: boolean;
+ derivatives: any; // deprecated, use extensions.derivatives
+ extensions: { derivatives: boolean; fragDepth: boolean; drawBuffers: boolean; shaderTextureLOD: boolean };
defaultAttributeValues: any;
index0AttributeName: string;
+ setValues(parameters: ShaderMaterialParameters): void;
clone(): ShaderMaterial;
copy(source: ShaderMaterial): ShaderMaterial;
toJSON(meta: any): any;
}
+ export class RawShaderMaterial extends ShaderMaterial {
+ constructor(parameters?: ShaderMaterialParameters);
+ }
+
export interface SpriteMaterialParameters extends MaterialParameters {
color?: number|string;
opacity?: number;
@@ -2607,6 +2741,7 @@ declare namespace THREE {
rotation: number;
fog: boolean;
+ setValues(parameters: SpriteMaterialParameters): void;
clone(): SpriteMaterial;
copy(source: SpriteMaterial): SpriteMaterial;
}
@@ -2625,7 +2760,8 @@ declare namespace THREE {
clone(): Box2;
copy(box: Box2): Box2;
makeEmpty(): Box2;
- empty(): boolean;
+ empty(): any; // deprecated, use isEmpty()
+ isEmpty(): boolean;
center(optionalTarget?: Vector2): Vector2;
size(optionalTarget?: Vector2): Vector2;
expandByPoint(point: Vector2): Box2;
@@ -2634,13 +2770,15 @@ declare namespace THREE {
containsPoint(point: Vector2): boolean;
containsBox(box: Box2): boolean;
getParameter(point: Vector2): Vector2;
- isIntersectionBox(box: Box2): boolean;
+ intersectsBox(box: Box2): boolean;
clampPoint(point: Vector2, optionalTarget?: Vector2): Vector2;
distanceToPoint(point: Vector2): number;
intersect(box: Box2): Box2;
union(box: Box2): Box2;
translate(offset: Vector2): Box2;
equals(box: Box2): boolean;
+
+ isIntersectionBox(b: any): any; // deprecated, use intersectsBox()
}
export class Box3 {
@@ -2650,13 +2788,14 @@ declare namespace THREE {
min: Vector3;
set(min: Vector3, max: Vector3): Box3;
+ setFromArray(array: number[]): Box3;
setFromPoints(points: Vector3[]): Box3;
setFromCenterAndSize(center: Vector3, size: Vector3): Box3;
setFromObject(object: Object3D): Box3;
clone(): Box3;
copy(box: Box3): Box3;
makeEmpty(): Box3;
- empty(): boolean;
+ isEmpty(): boolean;
center(optionalTarget?: Vector3): Vector3;
size(optionalTarget?: Vector3): Vector3;
expandByPoint(point: Vector3): Box3;
@@ -2665,7 +2804,9 @@ declare namespace THREE {
containsPoint(point: Vector3): boolean;
containsBox(box: Box3): boolean;
getParameter(point: Vector3): Vector3;
- isIntersectionBox(box: Box3): boolean;
+ intersectsBox(box: Box3): boolean;
+ intersectsSphere(sphere: Sphere): boolean;
+ intersectsPlane(plane: Plane): boolean;
clampPoint(point: Vector3, optionalTarget?: Vector3): Vector3;
distanceToPoint(point: Vector3): number;
getBoundingSphere(optionalTarget?: Sphere): Sphere;
@@ -2674,6 +2815,10 @@ declare namespace THREE {
applyMatrix4(matrix: Matrix4): Box3;
translate(offset: Vector3): Box3;
equals(box: Box3): boolean;
+
+ empty(): any; // deprecated, use isEmpty()
+ isIntersectionBox(b: any): any; // deprecated, use intersectsBox()
+ isIntersectionSphere(s: any): any; // deprecated, use intersectsSphere()
}
export interface HSL {
@@ -2714,6 +2859,7 @@ declare namespace THREE {
set(color: Color): Color;
set(color: number): Color;
set(color: string): Color;
+ setScalar(scalar: number): Color;
setHex(hex: number): Color;
/**
@@ -2804,165 +2950,164 @@ declare namespace THREE {
toArray(array?: number[], offset?: number): number[];
}
- export class ColorKeywords {
- static aliceblue: number;
- static antiquewhite: number;
- static aqua: number;
- static aquamarine: number;
- static azure: number;
- static beige: number;
- static bisque: number;
- static black: number;
- static blanchedalmond: number;
- static blue: number;
- static blueviolet: number;
- static brown: number;
- static burlywood: number;
- static cadetblue: number;
- static chartreuse: number;
- static chocolate: number;
- static coral: number;
- static cornflowerblue: number;
- static cornsilk: number;
- static crimson: number;
- static cyan: number;
- static darkblue: number;
- static darkcyan: number;
- static darkgoldenrod: number;
- static darkgray: number;
- static darkgreen: number;
- static darkgrey: number;
- static darkkhaki: number;
- static darkmagenta: number;
- static darkolivegreen: number;
- static darkorange: number;
- static darkorchid: number;
- static darkred: number;
- static darksalmon: number;
- static darkseagreen: number;
- static darkslateblue: number;
- static darkslategray: number;
- static darkslategrey: number;
- static darkturquoise: number;
- static darkviolet: number;
- static deeppink: number;
- static deepskyblue: number;
- static dimgray: number;
- static dimgrey: number;
- static dodgerblue: number;
- static firebrick: number;
- static floralwhite: number;
- static forestgreen: number;
- static fuchsia: number;
- static gainsboro: number;
- static ghostwhite: number;
- static gold: number;
- static goldenrod: number;
- static gray: number;
- static green: number;
- static greenyellow: number;
- static grey: number;
- static honeydew: number;
- static hotpink: number;
- static indianred: number;
- static indigo: number;
- static ivory: number;
- static khaki: number;
- static lavender: number;
- static lavenderblush: number;
- static lawngreen: number;
- static lemonchiffon: number;
- static lightblue: number;
- static lightcoral: number;
- static lightcyan: number;
- static lightgoldenrodyellow: number;
- static lightgray: number;
- static lightgreen: number;
- static lightgrey: number;
- static lightpink: number;
- static lightsalmon: number;
- static lightseagreen: number;
- static lightskyblue: number;
- static lightslategray: number;
- static lightslategrey: number;
- static lightsteelblue: number;
- static lightyellow: number;
- static lime: number;
- static limegreen: number;
- static linen: number;
- static magenta: number;
- static maroon: number;
- static mediumaquamarine: number;
- static mediumblue: number;
- static mediumorchid: number;
- static mediumpurple: number;
- static mediumseagreen: number;
- static mediumslateblue: number;
- static mediumspringgreen: number;
- static mediumturquoise: number;
- static mediumvioletred: number;
- static midnightblue: number;
- static mintcream: number;
- static mistyrose: number;
- static moccasin: number;
- static navajowhite: number;
- static navy: number;
- static oldlace: number;
- static olive: number;
- static olivedrab: number;
- static orange: number;
- static orangered: number;
- static orchid: number;
- static palegoldenrod: number;
- static palegreen: number;
- static paleturquoise: number;
- static palevioletred: number;
- static papayawhip: number;
- static peachpuff: number;
- static peru: number;
- static pink: number;
- static plum: number;
- static powderblue: number;
- static purple: number;
- static red: number;
- static rosybrown: number;
- static royalblue: number;
- static saddlebrown: number;
- static salmon: number;
- static sandybrown: number;
- static seagreen: number;
- static seashell: number;
- static sienna: number;
- static silver: number;
- static skyblue: number;
- static slateblue: number;
- static slategray: number;
- static slategrey: number;
- static snow: number;
- static springgreen: number;
- static steelblue: number;
- static tan: number;
- static teal: number;
- static thistle: number;
- static tomato: number;
- static turquoise: number;
- static violet: number;
- static wheat: number;
- static white: number;
- static whitesmoke: number;
- static yellow: number;
- static yellowgreen: number;
+ export namespace ColorKeywords {
+ export const aliceblue: number;
+ export const antiquewhite: number;
+ export const aqua: number;
+ export const aquamarine: number;
+ export const azure: number;
+ export const beige: number;
+ export const bisque: number;
+ export const black: number;
+ export const blanchedalmond: number;
+ export const blue: number;
+ export const blueviolet: number;
+ export const brown: number;
+ export const burlywood: number;
+ export const cadetblue: number;
+ export const chartreuse: number;
+ export const chocolate: number;
+ export const coral: number;
+ export const cornflowerblue: number;
+ export const cornsilk: number;
+ export const crimson: number;
+ export const cyan: number;
+ export const darkblue: number;
+ export const darkcyan: number;
+ export const darkgoldenrod: number;
+ export const darkgray: number;
+ export const darkgreen: number;
+ export const darkgrey: number;
+ export const darkkhaki: number;
+ export const darkmagenta: number;
+ export const darkolivegreen: number;
+ export const darkorange: number;
+ export const darkorchid: number;
+ export const darkred: number;
+ export const darksalmon: number;
+ export const darkseagreen: number;
+ export const darkslateblue: number;
+ export const darkslategray: number;
+ export const darkslategrey: number;
+ export const darkturquoise: number;
+ export const darkviolet: number;
+ export const deeppink: number;
+ export const deepskyblue: number;
+ export const dimgray: number;
+ export const dimgrey: number;
+ export const dodgerblue: number;
+ export const firebrick: number;
+ export const floralwhite: number;
+ export const forestgreen: number;
+ export const fuchsia: number;
+ export const gainsboro: number;
+ export const ghostwhite: number;
+ export const gold: number;
+ export const goldenrod: number;
+ export const gray: number;
+ export const green: number;
+ export const greenyellow: number;
+ export const grey: number;
+ export const honeydew: number;
+ export const hotpink: number;
+ export const indianred: number;
+ export const indigo: number;
+ export const ivory: number;
+ export const khaki: number;
+ export const lavender: number;
+ export const lavenderblush: number;
+ export const lawngreen: number;
+ export const lemonchiffon: number;
+ export const lightblue: number;
+ export const lightcoral: number;
+ export const lightcyan: number;
+ export const lightgoldenrodyellow: number;
+ export const lightgray: number;
+ export const lightgreen: number;
+ export const lightgrey: number;
+ export const lightpink: number;
+ export const lightsalmon: number;
+ export const lightseagreen: number;
+ export const lightskyblue: number;
+ export const lightslategray: number;
+ export const lightslategrey: number;
+ export const lightsteelblue: number;
+ export const lightyellow: number;
+ export const lime: number;
+ export const limegreen: number;
+ export const linen: number;
+ export const magenta: number;
+ export const maroon: number;
+ export const mediumaquamarine: number;
+ export const mediumblue: number;
+ export const mediumorchid: number;
+ export const mediumpurple: number;
+ export const mediumseagreen: number;
+ export const mediumslateblue: number;
+ export const mediumspringgreen: number;
+ export const mediumturquoise: number;
+ export const mediumvioletred: number;
+ export const midnightblue: number;
+ export const mintcream: number;
+ export const mistyrose: number;
+ export const moccasin: number;
+ export const navajowhite: number;
+ export const navy: number;
+ export const oldlace: number;
+ export const olive: number;
+ export const olivedrab: number;
+ export const orange: number;
+ export const orangered: number;
+ export const orchid: number;
+ export const palegoldenrod: number;
+ export const palegreen: number;
+ export const paleturquoise: number;
+ export const palevioletred: number;
+ export const papayawhip: number;
+ export const peachpuff: number;
+ export const peru: number;
+ export const pink: number;
+ export const plum: number;
+ export const powderblue: number;
+ export const purple: number;
+ export const red: number;
+ export const rosybrown: number;
+ export const royalblue: number;
+ export const saddlebrown: number;
+ export const salmon: number;
+ export const sandybrown: number;
+ export const seagreen: number;
+ export const seashell: number;
+ export const sienna: number;
+ export const silver: number;
+ export const skyblue: number;
+ export const slateblue: number;
+ export const slategray: number;
+ export const slategrey: number;
+ export const snow: number;
+ export const springgreen: number;
+ export const steelblue: number;
+ export const tan: number;
+ export const teal: number;
+ export const thistle: number;
+ export const tomato: number;
+ export const turquoise: number;
+ export const violet: number;
+ export const wheat: number;
+ export const white: number;
+ export const whitesmoke: number;
+ export const yellow: number;
+ export const yellowgreen: number;
}
export class Euler {
- static DefaultOrder: string;
-
constructor(x?: number, y?: number, z?: number, order?: string);
-
+
x: number;
y: number;
z: number;
order: string;
+ onChangeCallback: Function;
set(x: number, y: number, z: number, order?: string): Euler;
clone(): Euler;
@@ -2975,7 +3120,10 @@ declare namespace THREE {
fromArray(xyzo: any[]): Euler;
toArray(array?: number[], offset?: number): number[];
toVector3(optionalResult?: Vector3): Vector3;
- onChange: () => void;
+ onChange(callback: Function): void;
+
+ static RotationOrders: string[];
+ static DefautlOrder: string;
}
/**
@@ -3001,6 +3149,7 @@ declare namespace THREE {
export class Line3 {
constructor(start?: Vector3, end?: Vector3);
+
start: Vector3;
end: Vector3;
@@ -3018,8 +3167,12 @@ declare namespace THREE {
equals(line: Line3): boolean;
}
- interface Math {
- generateUUID(): string;
+ /**
+ *
+ * @see src/math/Math.js
+ */
+ export namespace Math {
+ export function generateUUID(): string;
/**
* Clamps the x to be between a and b.
@@ -3028,8 +3181,8 @@ declare namespace THREE {
* @param min Minimum value
* @param max Maximum value.
*/
- clamp(value: number, min: number, max: number): number;
- euclideanModulo( n: number, m: number ): number;
+ export function clamp(value: number, min: number, max: number): number;
+ export function euclideanModulo( n: number, m: number ): number;
/**
* Linear mapping of x from range [a1, a2] to range [b1, b2].
@@ -3040,50 +3193,44 @@ declare namespace THREE {
* @param b1 Minimum value for range B.
* @param b2 Maximum value for range B.
*/
- mapLinear(x: number, a1: number, a2: number, b1: number, b2: number): number;
+ export function mapLinear(x: number, a1: number, a2: number, b1: number, b2: number): number;
- smoothstep(x: number, min: number, max: number): number;
+ export function smoothstep(x: number, min: number, max: number): number;
- smootherstep(x: number, min: number, max: number): number;
+ export function smootherstep(x: number, min: number, max: number): number;
/**
* Random float from 0 to 1 with 16 bits of randomness.
* Standard Math.random() creates repetitive patterns when applied over larger space.
*/
- random16(): number;
+ export function random16(): number; // deprecated, use Math.random()
/**
* Random integer from low to high interval.
*/
- randInt(low: number, high: number): number;
+ export function randInt(low: number, high: number): number;
/**
* Random float from low to high interval.
*/
- randFloat(low: number, high: number): number;
+ export function randFloat(low: number, high: number): number;
/**
* Random float from - range / 2 to range / 2 interval.
*/
- randFloatSpread(range: number): number;
+ export function randFloatSpread(range: number): number;
- degToRad(degrees: number): number;
+ export function degToRad(degrees: number): number;
- radToDeg(radians: number): number;
+ export function radToDeg(radians: number): number;
- isPowerOfTwo(value: number): boolean;
+ export function isPowerOfTwo(value: number): boolean;
- nearestPowerOfTwo(value: number): number;
+ export function nearestPowerOfTwo(value: number): number;
- nextPowerOfTwo(value: number): number;
+ export function nextPowerOfTwo(value: number): number;
}
- /**
- *
- * @see src/math/Math.js
- */
- export var Math: Math;
-
/**
* ( interface Matrix<T> )
*/
@@ -3135,11 +3282,6 @@ declare namespace THREE {
*/
constructor();
- /**
- * Initialises the matrix with the supplied n11..n33 values.
- */
- constructor(n11: number, n12: number, n13: number, n21: number, n22: number, n23: number, n31: number, n32: number, n33: number);
-
/**
* Float32Array with matrix values.
*/
@@ -3149,12 +3291,13 @@ declare namespace THREE {
identity(): Matrix3;
clone(): Matrix3;
copy(m: Matrix3): Matrix3;
+ multiplyVector3Array(a: any): any; // deprecated, use applyToVector3Array()
applyToVector3Array(array: number[], offset?: number, length?: number): number[];
- applyToBuffer( buffer: BufferAttribute, offset?: number, length?: number): BufferAttribute;
+ applyToBuffer(buffer: BufferAttribute, offset?: number, length?: number): BufferAttribute;
multiplyScalar(s: number): Matrix3;
determinant(): number;
- getInverse(matrix: Matrix3, throwOnInvertible?: boolean): Matrix3;
- getInverse(matrix: Matrix4, throwOnInvertible?: boolean): Matrix3;
+ getInverse(matrix: Matrix3, throwOnDegenerate?: boolean): Matrix3;
+ getInverse(matrix: Matrix4, throwOnDegenerate?: boolean): Matrix3;
/**
* Transposes this matrix in place.
@@ -3170,6 +3313,7 @@ declare namespace THREE {
fromArray(array: number[]): Matrix3;
toArray(): number[];
+ multiplyVector3(vector: Vector3): any; // deprecated, use vector.applyMatrix3( matrix )
}
/**
@@ -3191,10 +3335,7 @@ declare namespace THREE {
* m.multiply( m3 );
*/
export class Matrix4 implements Matrix {
- /**
- * Initialises the matrix with the supplied n11..n44 values.
- */
- constructor(n11?: number, n12?: number, n13?: number, n14?: number, n21?: number, n22?: number, n23?: number, n24?: number, n31?: number, n32?: number, n33?: number, n34?: number, n41?: number, n42?: number, n43?: number, n44?: number);
+ constructor();
/**
* Float32Array with matrix values.
@@ -3212,6 +3353,7 @@ declare namespace THREE {
identity(): Matrix4;
clone(): Matrix4;
copy(m: Matrix4): Matrix4;
+ extractPosition(m: Matrix4): Matrix4; // deprecated, use copyPosition()
copyPosition(m: Matrix4): Matrix4;
extractBasis( xAxis: Vector3, yAxis: Vector3, zAxis: Vector3): Matrix4;
makeBasis( xAxis: Vector3, yAxis: Vector3, zAxis: Vector3): Matrix4;
@@ -3221,6 +3363,7 @@ declare namespace THREE {
*/
extractRotation(m: Matrix4): Matrix4;
makeRotationFromEuler(euler: Euler): Matrix4;
+ setRotationFromQuaternion(q: Quaternion): Matrix4; // deprecated, use makeRotationFromQuaternion()
makeRotationFromQuaternion(q: Quaternion): Matrix4;
/**
* Constructs a rotation matrix, looking from eye towards center with defined up vector.
@@ -3247,6 +3390,7 @@ declare namespace THREE {
* Multiplies this matrix by s.
*/
multiplyScalar(s: number): Matrix4;
+ multiplyVector3Array(array: number[]): number[]; // deprecated, use applyToVector3Array()
applyToVector3Array(array: number[], offset?: number, length?: number): number[];
applyToBuffer( buffer: BufferAttribute, offset?: number, length?: number): BufferAttribute;
/**
@@ -3268,7 +3412,8 @@ declare namespace THREE {
/**
* Sets the position component for this matrix from vector v.
*/
- setPosition(v: Vector3): Vector3;
+ setPosition(v: Vector3): Matrix4;
+
/**
* Sets this matrix to the inverse of matrix m.
@@ -3350,6 +3495,12 @@ declare namespace THREE {
equals( matrix: Matrix4 ): boolean;
fromArray(array: number[]): Matrix4;
toArray(): number[];
+
+ getPosition(): any; // deprecated, use Vector3.setFromMatrixPosition( matrix )
+ multiplyVector3(v: any): any; // deprecated, use vector.applyMatrix4( matrix ) or vector.applyProjection( matrix )
+ multiplyVector4(v: any): any; // deprecated, use vector.applyMatrix4( matrix )
+ rotateAxis(v: any): void; // deprecated, use Vector3.transformDirection( matrix )
+ crossVector(v: any): void; // deprecated, use vector.applyMatrix( matrix )
}
export class Plane {
@@ -3370,12 +3521,15 @@ declare namespace THREE {
distanceToSphere(sphere: Sphere): number;
projectPoint(point: Vector3, optionalTarget?: Vector3): Vector3;
orthoPoint(point: Vector3, optionalTarget?: Vector3): Vector3;
- isIntersectionLine(line: Line3): boolean;
intersectLine(line: Line3, optionalTarget?: Vector3): Vector3;
+ intersectsLine(line: Line3): boolean;
+ intersectsBox(box: Box3): boolean;
coplanarPoint(optionalTarget?: boolean): Vector3;
applyMatrix4(matrix: Matrix4, optionalNormalMatrix?: Matrix3): Plane;
translate(offset: Vector3): Plane;
equals(plane: Plane): boolean;
+
+ isIntersectionLine(l: any): any; // deprecated, use instersectsLine()
}
/**
@@ -3463,10 +3617,8 @@ declare namespace THREE {
*/
multiplyQuaternions(a: Quaternion, b: Quaternion): Quaternion;
- /**
- * Deprecated. Use Vector3.applyQuaternion instead
- */
- multiplyVector3(vector: Vector3): Vector3;
+ multiplyVector3(v: any): any; // deprecated, use vector.applyQuaternion( quaternion )
+
slerp(qb: Quaternion, t: number): Quaternion;
equals(v: Quaternion): boolean;
fromArray(n: number[]): Quaternion;
@@ -3475,12 +3627,15 @@ declare namespace THREE {
fromArray(xyzw: number[], offset?: number): Quaternion;
toArray(xyzw?: number[], offset?: number): number[];
- onChange: () => void;
+ onChange(callback: Function): Quaternion;
+ onChangeCallback: Function;
/**
* Adapted from http://www.euclideanspace.com/maths/algebra/realNormedAlgebra/quaternions/slerp/.
*/
static slerp(qa: Quaternion, qb: Quaternion, qm: Quaternion, t: number): Quaternion;
+
+ static slerpFlat(dst: number[], dstOffset: number, src0: number[], srcOffset: number, src1: number[], stcOffset1: number, t: number): Quaternion;
}
export class Ray {
@@ -3493,21 +3648,26 @@ declare namespace THREE {
clone(): Ray;
copy(ray: Ray): Ray;
at(t: number, optionalTarget?: Vector3): Vector3;
+ lookAt(v: Vector3): Vector3;
recast(t: number): Ray;
closestPointToPoint(point: Vector3, optionalTarget?: Vector3): Vector3;
distanceToPoint(point: Vector3): number;
distanceSqToPoint(point: Vector3): number;
distanceSqToSegment(v0: Vector3, v1: Vector3, optionalPointOnRay?: Vector3, optionalPointOnSegment?: Vector3): number;
- isIntersectionSphere(sphere: Sphere): boolean;
intersectSphere(sphere: Sphere, optionalTarget?: Vector3): Vector3;
- isIntersectionPlane(plane: Plane): boolean;
+ intersectsSphere(sphere: Sphere): boolean;
distanceToPlane(plane: Plane): number;
intersectPlane(plane: Plane, optionalTarget?: Vector3): Vector3;
- isIntersectionBox(box: Box3): boolean;
+ intersectsPlane(plane: Plane): boolean;
intersectBox(box: Box3, optionalTarget?: Vector3): Vector3;
+ intersectsBox(box: Box3): boolean;
intersectTriangle(a: Vector3, b: Vector3, c: Vector3, backfaceCulling: boolean, optionalTarget?: Vector3): Vector3;
applyMatrix4(matrix4: Matrix4): Ray;
equals(ray: Ray): boolean;
+
+ isIntersectionSphere(s: any): any; // deprecated, use intersectsSphere()
+ isIntersectionPlane(p: any): any; // deprecated, use intersectsPlane()
+ isIntersectionBox(b: any): any; // deprecated, use intersectsBox()
}
export class Sphere {
@@ -3524,6 +3684,8 @@ declare namespace THREE {
containsPoint(point: Vector3): boolean;
distanceToPoint(point: Vector3): number;
intersectsSphere(sphere: Sphere): boolean;
+ intersectsBox(box: Box3): boolean;
+ intersectsPlane(plane: Plane): boolean;
clampPoint(point: Vector3, optionalTarget?: Vector3): Vector3;
getBoundingBox(optionalTarget?: Box3): Box3;
applyMatrix4(matrix: Matrix4): Sphere;
@@ -3608,7 +3770,6 @@ declare namespace THREE {
static containsPoint(point: Vector3, a: Vector3, b: Vector3, c: Vector3): boolean;
}
-
/**
* ( interface Vector<T> )
*
@@ -3730,7 +3891,6 @@ declare namespace THREE {
x: number;
y: number;
-
width: number;
height: number;
@@ -3739,6 +3899,8 @@ declare namespace THREE {
*/
set(x: number, y: number): Vector2;
+ setScalar(scalar: number): Vector2;
+
/**
* Sets X component of this vector.
*/
@@ -3838,6 +4000,11 @@ declare namespace THREE {
*/
normalize(): Vector2;
+ /**
+ * computes the angle in radians with respect to the positive x-axis
+ */
+ angle(): number;
+
/**
* Computes distance of this vector to v.
*/
@@ -3885,7 +4052,6 @@ declare namespace THREE {
* ( class Vector3 implements Vector )
*/
export class Vector3 implements Vector {
-
constructor(x?: number, y?: number, z?: number);
x: number;
@@ -3897,6 +4063,11 @@ declare namespace THREE {
*/
set(x: number, y: number, z: number): Vector3;
+ /**
+ * Sets all values of this vector.
+ */
+ setScalar(scalar: number): Vector3;
+
/**
* Sets x value of this vector.
*/
@@ -3934,7 +4105,6 @@ declare namespace THREE {
* Sets this vector to a + b.
*/
addVectors(a: Vector3, b: Vector3): Vector3;
- addScaledVector( v: Vector3, s: number ): Vector3;
/**
* Subtracts v from this vector.
@@ -4043,8 +4213,11 @@ declare namespace THREE {
*/
distanceToSquared(v: Vector3): number;
+ getPositionFromMatrix(m: Matrix4): Vector3; // deprecated, use setFromMatrixPosition()
setFromMatrixPosition(m: Matrix4): Vector3;
+ getScaleFromMatrix(m: Matrix4): Vector3; // deprecated, use setFromMatrixScale()
setFromMatrixScale(m: Matrix4): Vector3;
+ getColumnFromMatrixColumn(index: number, matrix: Matrix4): Vector3; // deprecated, use setFromMatrixColumn()
setFromMatrixColumn(index: number, matrix: Matrix4): Vector3;
/**
@@ -4066,6 +4239,7 @@ declare namespace THREE {
*/
export class Vector4 implements Vector {
constructor(x?: number, y?: number, z?: number, w?: number);
+
x: number;
y: number;
z: number;
@@ -4076,6 +4250,11 @@ declare namespace THREE {
*/
set(x: number, y: number, z: number, w: number): Vector4;
+ /**
+ * Sets all values of this vector.
+ */
+ setScalar(scalar: number): Vector4;
+
/**
* Sets X component of this vector.
*/
@@ -4152,7 +4331,7 @@ declare namespace THREE {
* http://www.euclideanspace.com/maths/geometry/rotations/conversions/matrixToAngle/index.htm
* @param m assumes the upper 3x3 of m is a pure rotation matrix (i.e, unscaled)
*/
- setAxisAngleFromRotationMatrix(m: Matrix4): Vector4;
+ setAxisAngleFromRotationMatrix(m: Matrix3): Vector4;
min(v: Vector4): Vector4;
max(v: Vector4): Vector4;
@@ -4212,6 +4391,41 @@ declare namespace THREE {
fromAttribute( attribute: BufferAttribute, index: number, offset?: number): Vector4;
}
+ export abstract class Interpolant {
+ constructor(parameterPositions: any, samplesValues: any, sampleSize: number, resultBuffer?: any);
+
+ parameterPositions: any;
+ samplesValues: any;
+ valueSize: number;
+ resultBuffer: any;
+
+ evaluate(time: number): any;
+ }
+
+ export class CubicInterpolant extends Interpolant {
+ constructor(parameterPositions: any, samplesValues: any, sampleSize: number, resultBuffer?: any);
+
+ interpolate_(i1: number, t0: number, t: number, t1: number): any;
+ }
+
+ export class DiscreteInterpolant extends Interpolant {
+ constructor(parameterPositions: any, samplesValues: any, sampleSize: number, resultBuffer?: any);
+
+ interpolate_(i1: number, t0: number, t: number, t1: number): any;
+ }
+
+ export class LinearInterpolant extends Interpolant {
+ constructor(parameterPositions: any, samplesValues: any, sampleSize: number, resultBuffer?: any);
+
+ interpolate_(i1: number, t0: number, t: number, t1: number): any;
+ }
+
+ export class QuaternionLinearInterpolant extends Interpolant {
+ constructor(parameterPositions: any, samplesValues: any, sampleSize: number, resultBuffer?: any);
+
+ interpolate_(i1: number, t0: number, t: number, t1: number): any;
+ }
+
// Objects //////////////////////////////////////////////////////////////////////////////////
export class Bone extends Object3D {
@@ -4231,6 +4445,7 @@ declare namespace THREE {
constructor();
levels: any[];
+ objects: any[]; // deprecated, use .levels
addLevel(object: Object3D, distance?: number): void;
getObjectForDistance(distance: number): Object3D;
@@ -4263,11 +4478,9 @@ declare namespace THREE {
positionScreen: Vector3;
customUpdateCallback: (object: LensFlare) => void;
+ add(object: Object3D): void;
add(texture: Texture, size?: number, distance?: number, blending?: Blending, color?: Color): void;
- add(obj: Object3D): void;
-
updateLensFlares(): void;
-
clone(): LensFlare;
copy(source: LensFlare): LensFlare;
}
@@ -4298,9 +4511,9 @@ declare namespace THREE {
copy(source: LineSegments): LineSegments;
}
- enum LineMode{}
- var LineStrip: LineMode;
- var LinePieces: LineMode;
+ enum LineMode {}
+ var LineStrip: LineMode; // deprecated
+ var LinePieces: LineMode; // deprecated
export class Mesh extends Object3D {
constructor(geometry?: Geometry, material?: Material);
@@ -4308,7 +4521,9 @@ declare namespace THREE {
geometry: Geometry|BufferGeometry;
material: Material;
+ drawMode: TrianglesDrawModes;
+ setDrawMode(drawMode: TrianglesDrawModes): void;
updateMorphTargets(): void;
getMorphTargetIndexByName(name: string): number;
raycast(raycaster: Raycaster, intersects: any): void;
@@ -4338,7 +4553,7 @@ declare namespace THREE {
geometry: Geometry;
/**
- * An instance of Material, defining the object's appearance. Default is a ParticleBasicMaterial with randomised colour.
+ * An instance of Material, defining the object's appearance. Default is a PointsMaterial with randomised colour.
*/
material: Material;
@@ -4347,6 +4562,9 @@ declare namespace THREE {
copy(source: Points): Points;
}
+ export class PointCloud extends Points {} // deprecated, use Points
+ export class ParticleSystem extends Points {} // deprecated, use Points
+
export class Skeleton {
constructor(bones: Bone[], boneInverses?: Matrix4[], useVertexTexture?: boolean);
@@ -4363,13 +4581,12 @@ declare namespace THREE {
pose(): void;
update(): void;
clone(): Skeleton;
-
}
export class SkinnedMesh extends Mesh {
constructor(geometry?: Geometry|BufferGeometry, material?: MeshBasicMaterial, useVertexTexture?: boolean);
constructor(geometry?: Geometry|BufferGeometry, material?: MeshDepthMaterial, useVertexTexture?: boolean);
- constructor(geometry?: Geometry|BufferGeometry, material?: MeshFaceMaterial, useVertexTexture?: boolean);
+ constructor(geometry?: Geometry|BufferGeometry, material?: MultiMaterial, useVertexTexture?: boolean);
constructor(geometry?: Geometry|BufferGeometry, material?: MeshLambertMaterial, useVertexTexture?: boolean);
constructor(geometry?: Geometry|BufferGeometry, material?: MeshNormalMaterial, useVertexTexture?: boolean);
constructor(geometry?: Geometry|BufferGeometry, material?: MeshPhongMaterial, useVertexTexture?: boolean);
@@ -4378,15 +4595,14 @@ declare namespace THREE {
bindMode: string;
bindMatrix: Matrix4;
bindMatrixInverse: Matrix4;
+ skeleton: Skeleton;
bind( skeleton: Skeleton, bindMatrix?: Matrix4 ): void;
pose(): void;
normalizeSkinWeights(): void;
updateMatrixWorld(force?: boolean): void;
clone(): SkinnedMesh;
- copy(source?: SkinnedMesh): SkinnedMesh;
-
- skeleton: Skeleton;
+ copy(source: SkinnedMesh): SkinnedMesh;
}
export class Sprite extends Object3D {
@@ -4397,9 +4613,11 @@ declare namespace THREE {
raycast(raycaster: Raycaster, intersects: any): void;
clone(): Sprite;
- copy(source?: Sprite): Sprite;
+ copy(source: Sprite): Sprite;
}
+ export class Particle extends Sprite {} // deprecated, use Sprite
+
// Renderers //////////////////////////////////////////////////////////////////////////////////
@@ -4514,7 +4732,7 @@ declare namespace THREE {
extensions: WebGLExtensions;
- gammaFactor: number;
+ gammaFactor: number; // deprecated
/**
* Default is false.
@@ -4526,22 +4744,6 @@ declare namespace THREE {
*/
gammaOutput: boolean;
- /**
- * Default is false.
- */
- shadowMapEnabled: boolean;
-
- /**
- * Defines shadow map type (unfiltered, percentage close filtering, percentage close filtering with bilinear filtering in shader)
- * Options are THREE.BasicShadowMap, THREE.PCFShadowMap, THREE.PCFSoftShadowMap. Default is THREE.PCFShadowMap.
- */
- shadowMapType: ShadowMapType;
-
- /**
- * Default is true
- */
- shadowMapCullFace: CullFace;
-
/**
* Default is false.
*/
@@ -4567,7 +4769,6 @@ declare namespace THREE {
*/
info: {
memory: {
- programs: number;
geometries: number;
textures: number;
};
@@ -4577,32 +4778,32 @@ declare namespace THREE {
faces: number;
points: number;
};
+ programs: number;
};
- shadowMap: WebGLShadowMapInstance;
+ shadowMap: WebGLShadowMap;
+ shadowMapType: ShadowMapType; // deprecated, use shadowMap.type
+ shadowMapEnabled: boolean; // deprecated, use shadowMap.enabled
+ shadowMapCullFace: CullFace; // deprecated, use shadowMap.cullFace
+
+ pixelRation: number;
+
+ capabilities: WebGLCapabilities;
+ properties: WebGLProperties;
+ state: WebGLState;
/**
* Return the WebGL context.
*/
getContext(): WebGLRenderingContext;
-
+ getContextAttributes(): any;
forceContextLoss(): void;
- capabilities: WebGLCapabilities;
-
- /** Deprecated, use capabilities instead */
- supportsVertexTextures(): boolean;
- supportsFloatTextures(): boolean;
- supportsStandardDerivatives(): boolean;
- supportsCompressedTextureS3TC(): boolean;
- supportsCompressedTexturePVRTC(): boolean;
- supportsBlendMinMax(): boolean;
- getPrecision(): string;
-
getMaxAnisotropy(): number;
+ getPrecision(): string;
getPixelRatio(): number;
setPixelRatio(value: number): void;
-
+
getSize(): { width: number; height: number; };
/**
@@ -4623,37 +4824,26 @@ declare namespace THREE {
/**
* Enable the scissor test. When this is enabled, only the pixels within the defined scissor area will be affected by further renderer actions.
*/
- enableScissorTest(enable: boolean): void;
-
- /**
- * Sets the clear color, using color for the color and alpha for the opacity.
- */
- setClearColor(color: Color, alpha?: number): void;
- setClearColor(color: string, alpha?: number): void;
- setClearColor(color: number, alpha?: number): void;
-
- setClearAlpha(alpha: number): void;
-
- /**
- * Sets the clear color, using hex for the color and alpha for the opacity.
- *
- * @example
- * // Creates a renderer with black background
- * var renderer = new THREE.WebGLRenderer();
- * renderer.setSize(200, 100);
- * renderer.setClearColorHex(0x000000, 1);
- */
- setClearColorHex(hex: number, alpha: number): void;
+ setScissorTest(enable: boolean): void;
/**
* Returns a THREE.Color instance with the current clear color.
*/
getClearColor(): Color;
+ /**
+ * Sets the clear color, using color for the color and alpha for the opacity.
+ */
+ setClearColor(color: Color, alpha?: number): void;
+ setClearColor(color: string, alpha?: number): void;
+ setClearColor(color: number, alpha?: number): void;
+
/**
* Returns a float with the current clear alpha. Ranges from 0 to 1.
*/
getClearAlpha(): number;
+
+ setClearAlpha(alpha: number): void;
/**
* Tells the renderer to clear its color, depth or stencil drawing buffer(s).
@@ -4674,13 +4864,9 @@ declare namespace THREE {
* @param scene an instance of Scene
* @param camera — an instance of Camera
*/
- updateShadowMap(scene: Scene, camera: Camera): void;
-
renderBufferImmediate(object: Object3D, program: Object, material: Material): void;
- renderBufferDirect(camera: Camera, lights: Light[], fog: Fog, material: Material, geometryGroup: any, object: Object3D): void;
-
- renderBuffer(camera: Camera, lights: Light[], fog: Fog, material: Material, geometryGroup: any, object: Object3D): void;
+ renderBufferDirect(camera: Camera, fog: Fog, material: Material, geometryGroup: any, object: Object3D): void;
/**
* Render a scene using a camera.
@@ -4688,7 +4874,6 @@ declare namespace THREE {
* If forceClear is true, the canvas will be cleared before rendering, even if the renderer's autoClear property is false.
*/
render(scene: Scene, camera: Camera, renderTarget?: RenderTarget, forceClear?: boolean): void;
- renderImmediateObject(camera: Camera, lights: Light[], fog: Fog, material: Material, object: Object3D): void;
/**
* Used for setting the gl frontFace, cullFace states in the GPU, thus enabling/disabling face culling when rendering.
@@ -4697,14 +4882,19 @@ declare namespace THREE {
* @param frontFace "ccw" or "cw
*/
setFaceCulling(cullFace?: CullFace, frontFace?: FrontFaceDirection): void;
- setMaterialFaces(material: Material): void;
- setDepthTest(depthTest: boolean): void;
- setDepthWrite(depthWrite: boolean): void;
- setBlending(blending: Blending, blendEquation: BlendingEquation, blendSrc: BlendingSrcFactor, blendDst: BlendingDstFactor): void;
- uploadTexture(texture: Texture): void;
setTexture(texture: Texture, slot: number): void;
setRenderTarget(renderTarget: RenderTarget): void;
readRenderTargetPixels( renderTarget: RenderTarget, x: number, y: number, width: number, height: number, buffer: any ): void;
+
+ supportsFloatTextures(): any; // deprecated
+ supportsHalfFloatTextures(): any; // deprecated
+ supportsStandardDerivatives(): any; // deprecated
+ supportsCompressedTextureS3TC(): any; // deprecated
+ supportsCompressedTexturePVRTC(): any; // deprecated
+ supportsBlendMinMax(): any; // deprecated
+ supportsVertexTextures(): any; // deprecated
+ supportsInstancedArrays(): any; // deprecated
+ enableScissorTest(boolean: any): any; // deprecated
}
export interface RenderTarget {
@@ -4715,9 +4905,9 @@ declare namespace THREE {
wrapT?: Wrapping;
magFilter?: TextureFilter;
minFilter?: TextureFilter;
- anisotropy?: number; // 1;
format?: number; // RGBAFormat;
type?: TextureDataType; // UnsignedByteType;
+ anisotropy?: number; // 1;
depthBuffer?: boolean; // true;
stencilBuffer?: boolean; // true;
}
@@ -4728,26 +4918,29 @@ declare namespace THREE {
uuid: string;
width: number;
height: number;
- wrapS: Wrapping;
- wrapT: Wrapping;
- magFilter: TextureFilter;
- minFilter: TextureFilter;
- anisotropy: number;
- offset: Vector2;
- repeat: Vector2;
- format: number;
- type: number;
+ scissor: Vector4;
+ scissorTest: boolean;
+ viewpport: Vector4;
+ texture: Texture;
depthBuffer: boolean;
stencilBuffer: boolean;
- generateMipmaps: boolean;
shareDepthFrom: any;
+ wrapS: any; // deprecated, use texture.wrapS
+ wrapT: any; // deprecated, use texture.wrapT
+ magFilter: any; // deprecated, use texture.magFilter
+ minFilter: any; // deprecated, use texture.minFilter
+ anisotropy: any; // deprecated, use texture.anisotropy
+ offset: any; // deprecated, use texture.offset
+ repeat: any; // deprecated, use texture.repeat
+ format: any; // deprecated, use texture.format
+ type: any; // deprecated, use texture.type
+ generateMipmaps: any; // deprecated, use texture.generateMipmaps
setSize(width: number, height: number): void;
clone(): WebGLRenderTarget;
copy(source: WebGLRenderTarget): WebGLRenderTarget;
dispose(): void;
-
// EventDispatcher mixins
addEventListener(type: string, listener: (event: any) => void ): void;
hasEventListener(type: string, listener: (event: any) => void): void;
@@ -4762,26 +4955,27 @@ declare namespace THREE {
}
// Renderers / Shaders /////////////////////////////////////////////////////////////////////
- export interface ShaderChunk {
+ export let ShaderChunk: {
[name: string]: string;
- common: string;
-
alphamap_fragment: string;
alphamap_pars_fragment: string;
alphatest_fragment: string;
+ ambient_pars: string;
aomap_fragment: string;
aomap_pars_fragment: string;
begin_vertex: string;
beginnormal_vertex: string;
+ bsdfs: string;
bumpmap_pars_fragment: string;
color_fragment: string;
color_pars_fragment: string;
color_pars_vertex: string;
color_vertex: string;
+ common: string;
defaultnormal_vertex: string;
- displacementmap_pars_vertex: string;
displacementmap_vertex: string;
+ displacementmap_pars_vertex: string;
emissivemap_fragment: string;
emissivemap_pars_fragment: string;
envmap_fragment: string;
@@ -4790,15 +4984,17 @@ declare namespace THREE {
envmap_vertex: string;
fog_fragment: string;
fog_pars_fragment: string;
- hemilight_fragment: string;
lightmap_fragment: string;
lightmap_pars_fragment: string;
- lights_lambert_pars_vertex: string;
lights_lambert_vertex: string;
+ lights_pars: string;
lights_phong_fragment: string;
lights_phong_pars_fragment: string;
lights_phong_pars_vertex: string;
lights_phong_vertex: string;
+ lights_standard_fragment: string;
+ lights_standard_pars_fragment: string;
+ lights_template: string;
linear_to_gamma_fragment: string;
logdepthbuf_fragment: string;
logdepthbuf_pars_fragment: string;
@@ -4808,16 +5004,20 @@ declare namespace THREE {
map_pars_fragment: string;
map_particle_fragment: string;
map_particle_pars_fragment: string;
+ metalnessmap_fragment: string;
+ metalnessmap_pars_fragment: string;
morphnormal_vertex: string;
morphtarget_pars_vertex: string;
morphtarget_vertex: string;
- normal_phong_fragment: string;
+ normal_fragment: string;
normalmap_pars_fragment: string;
project_vertex: string;
- shadowmap_fragment: string;
+ roughtnessmap_fragment: string;
+ roughtnessmap_pars_fragment: string;
shadowmap_pars_fragment: string;
shadowmap_pars_vertex: string;
shadowmap_vertex: string;
+ shadowmask_pars_fragment: string;
skinbase_vertex: string;
skinning_pars_vertex: string;
skinning_vertex: string;
@@ -4833,62 +5033,134 @@ declare namespace THREE {
worldpos_vertex: string;
}
- export var ShaderChunk: ShaderChunk;
-
export interface Shader {
uniforms: any;
vertexShader: string;
fragmentShader: string;
}
- export var ShaderLib: {
+ export let ShaderLib: {
[name: string]: Shader;
basic: Shader;
lambert: Shader;
phong: Shader;
- particle_basic: Shader;
+ standard: Shader;
+ points: Shader;
dashed: Shader;
depth: Shader;
normal: Shader;
- normalmap: Shader;
cube: Shader;
equirect: Shader;
depthRGBA: Shader;
+ distanceRGBA: Shader;
};
- export var UniformsLib: {
- common: any;
- aomap: any;
- lightmap: any;
- emissivemap: any;
- bumpmap: any;
- normalmap: any;
- displacementmap: any;
- fog: any;
- lights: any;
- points: any;
- shadowmap: any;
- };
-
- export var UniformsUtils: {
- merge(uniforms: any[]): any;
- clone(uniforms_src: any): any;
- };
-
- // Renderers / WebGL /////////////////////////////////////////////////////////////////////
- export class WebGLBufferRenderer{
- constructor(_gl: any, extensions: any, _infoRender: any); // WebGLRenderingContext
-
- setMode( value: any ): void;
- render( start: any, count: any ): void;
- renderInstances( geometry: any ): void;
+ export interface IUniform {
+ type: string;
+ value: any;
}
- export class WebGLCapabilities{
- constructor(gl: any, extensions: any, parameters: any); // WebGLRenderingContext
+ export let UniformsLib: {
+ common: {
+ diffuse: IUniform;
+ opacity: IUniform;
+ map: IUniform;
+ offsetRepeat: IUniform;
+ specularMap: IUniform;
+ alphaMap: IUniform;
+ envMap: IUniform;
+ flipEnvMap: IUniform;
+ reflectivity: IUniform;
+ refractionRation: IUniform;
+ };
+ aomap: {
+ aoMap: IUniform;
+ aoMapIntensity: IUniform;
+ };
+ lightmap: {
+ lightMap: IUniform;
+ lightMapIntensity: IUniform;
+ };
+ emissivemap: { emissiveMap: IUniform };
+ bumpmap: {
+ bumpMap: IUniform;
+ bumpScale: IUniform;
+ };
+ normalmap: {
+ normalMap: IUniform;
+ normalScale: IUniform;
+ };
+ displacementmap: {
+ displacementMap: IUniform;
+ displacementScale: IUniform;
+ displacementBias: IUniform;
+ };
+ roughtnessmap: { roughtnessMap: IUniform };
+ metalnessmap: { metalnessMap: IUniform };
+ fog: {
+ fogDensity: IUniform;
+ fogNear: IUniform;
+ fogFar: IUniform;
+ fogColor: IUniform;
+ };
+ ambient: { ambientLightColor: IUniform };
+ lights: {
+ directionalLights: any;
+ directionalShadowMap: IUniform;
+ directionalShadowMatrix: IUniform;
+ spotLights: any;
+ spotShadowMap: IUniform;
+ spotShadowMatrix: IUniform;
+ pointLights: any;
+ pointShadowMap: IUniform;
+ pointShadowMatrix: IUniform;
+ hemisphereLigtts: any;
+ };
+ points: {
+ diffuse: IUniform;
+ opacity: IUniform;
+ size: IUniform;
+ scale: IUniform;
+ map: IUniform;
+ offsetRepeat: IUniform;
+ };
+ };
+
+ export namespace UniformsUtils {
+ export function merge(uniforms: any[]): any;
+ export function clone(uniforms_src: any): any;
+ }
+
+ export class Uniform {
+ constructor(type: string, value: string);
+
+ type: string;
+ value: string;
+ dynamic: boolean;
+ onUpdateCallback: Function;
+
+ onUpdate(callback: Function): Uniform;
+ }
+
+ // Renderers / WebGL /////////////////////////////////////////////////////////////////////
+ export class WebGLBufferRenderer {
+ constructor(_gl: any, extensions: any, _infoRender: any); // WebGLRenderingContext
+
+ setMode(value: any): void;
+ render(start: any, count: any): void;
+ renderInstances(geometry: any): void;
+ }
+
+ export interface WebGLCapabilitiesParameters {
+ precision?: any;
+ logarithmicDepthBuffer?: any;
+ }
+
+ export class WebGLCapabilities {
+ constructor(gl: any, extensions: any, parameters: WebGLCapabilitiesParameters); // WebGLRenderingContext
- getMaxPrecision: any;
precision: any;
+ logarithmicDepthBuffer: any;
maxTextures: any;
maxVertexTextures: any;
maxTextureSize: any;
@@ -4900,154 +5172,168 @@ declare namespace THREE {
vertexTextures: any;
floatFragmentTextures: any;
floatVertexTextures: any;
+
+ getMaxPrecision(precision: any): any;
}
- export class WebGLExtensions{
+ export class WebGLExtensions {
constructor(gl: any); // WebGLRenderingContext
get(name: string): any;
}
- interface WebGLGeometriesInstance {
- get( object: any ): any;
- }
- interface WebGLGeometriesStatic{
- new (gl: any, properties: any, info: any): WebGLGeometriesInstance;
- }
- export var WebGLGeometries: WebGLGeometriesStatic;
+ export class WebGLGeometries {
+ constructor(_gl: any, extensions: any, _infoRender: any);
-
- interface WebGLIndexedBufferRendererInstance {
- setMode( value: any ): void;
- setIndex( index: any ): void;
- render( start: any, count: any ): void;
- renderInstances( geometry: any ): void;
+ get(object: any): any;
}
- interface WebGLIndexedBufferRendererStatic{
- new (gl: any, properties: any, info: any): WebGLIndexedBufferRendererInstance;
+
+ export class WebGLLights {
+ constructor(gl: any, properties: any, info: any);
+
+ get(light: any): any;
}
- export var WebGLIndexedBufferRenderer: WebGLIndexedBufferRendererStatic;
+ export class WebGLIndexedBufferRenderer {
+ constructor(gl: any, properties: any, info: any);
- interface WebGLObjectsInstance {
- getAttributeBuffer( attribute: any ): any;
+ setMode(value: any): void;
+ setIndex(index: any): void;
+ render(start: any, count: number): void;
+ renderInstances(geometry: any, start: any, count: number): void;
+ }
+
+ export class WebGLObjects {
+ constructor(gl: any, properties: any, info: any);
+
+ getAttributeBuffer(attribute: any): any;
getWireframeAttribute(geometry: any): any;
update(object: any): void;
}
- interface WebGLObjectsStatic{
- new (gl: any, properties: any, info: any): WebGLObjectsInstance;
- }
- export var WebGLObjects: WebGLObjectsStatic;
- export class WebGLProgram{
+ export class WebGLProgram {
constructor(renderer: WebGLRenderer, code: string, material: ShaderMaterial, parameters: WebGLRendererParameters);
-
- getUniforms(): any;
- getAttributes(): any;
-
- /** Deprecated, use getUniforms */
- uniforms: any;
- /** Deprecated, use getAttributes */
- attributes: any;
-
+
id: number;
code: string;
usedTimes: number;
program: any;
vertexShader: WebGLShader;
fragmentShader: WebGLShader;
+ uniforms: any; // deprecated, use getUniforms()
+ attributes: any; // deprecated, use getAttributes()
+
+ getUniforms(): any;
+ getAttributes(): any;
+ destroy(): void;
}
- interface WebGLProgramsInstance {
- getParameters( material: any, lights: any, fog: any, object: any ): any[];
- getProgramCode( material: any, parameters: any ): any;
- acquireProgram( material: any, parameters: any, code: any ): any;
- releaseProgram( program: any ): void;
+ export class WebGLPrograms {
+ constructor(renderer: WebGLRenderer, capabilities: any);
+
+ programs: any[];
+
+ getParameters(material: ShaderMaterial, lights: any, fog: any, object: any): any[];
+ getProgramCode(material: ShaderMaterial, parameters: any): string;
+ acquireProgram(material: ShaderMaterial, parameters: any, code: string): WebGLProgram;
+ releaseProgram(program: WebGLProgram): void;
}
- interface WebGLProgramsStatic{
- new (renderer: WebGLRenderer, capabilities: any): WebGLProgramsInstance;
- }
- export var WebGLPrograms: WebGLProgramsStatic;
+
+ export class WebGLProperties {
+ constructor();
- interface WebGLPropertiesInstance {
get(object: any): any;
delete(object: any): void;
clear(): void;
}
- interface WebGLPropertiesStatic{
- new (): WebGLPropertiesInstance;
- }
- export var WebGLProperties: WebGLPropertiesStatic;
- export class WebGLShader{
+ export class WebGLShader {
constructor(gl: any, type: string, string: string);
}
- interface WebGLShadowMapInstance{
+ export class WebGLShadowMap {
+ constructor(_renderer: Renderer, _lights: any[], _objects: any[]);
+
enabled: boolean;
autoUpdate: boolean;
needsUpdate: boolean;
type: ShadowMapType;
cullFace: CullFace;
- render( scene: Scene ): void;
+ render(scene: Scene, camera: Camera): void;
}
- interface WebGLShadowMapStatic{
- new ( _renderer: Renderer, _lights: any[], _objects: any[] ): WebGLStateInstance;
- }
- export var WebGLShadowMap: WebGLShadowMapStatic;
+
+ export class WebGLState {
+ constructor(gl: any, extensions: any, paramThreeToGL: Function);
- interface WebGLStateInstance{
init(): void;
initAttributes(): void;
enableAttribute(attribute: string): void;
- enableAttributeAndDivisor( attribute: string, meshPerAttribute: any, extension: any ): void;
+ enableAttributeAndDivisor(attribute: string, meshPerAttribute: any, extension: any): void;
disableUnusedAttributes(): void;
- enable( id: string ): void;
- disable( id: string ): void;
- getCompressedTextureFormats(): any;
- setBlending( blending: number, blendEquation: number, blendSrc: number, blendDst: number, blendEquationAlpha: number, blendSrcAlpha: number, blendDstAlpha: number ): void;
- setDepthFunc( func: Function): void;
- setDepthTest( depthTest: number ): void;
- setDepthWrite( depthWrite: number ): void;
- setColorWrite( colorWrite: number ): void;
- setFlipSided( flipSided: number ): void;
- setLineWidth( width: number ): void;
+ enable(id: string): void;
+ disable(id: string): void;
+ getCompressedTextureFormats(): any[];
+ setBlending(blending: number, blendEquation: number, blendSrc: number, blendDst: number, blendEquationAlpha: number, blendSrcAlpha: number, blendDstAlpha: number): void;
+ setDepthFunc(func: Function): void;
+ setDepthTest(depthTest: number): void;
+ setDepthWrite(depthWrite: number): void;
+ setColorWrite(colorWrite: number): void;
+ setStencilFunc(stencilFunc: Function, stencilRef: any, stencilMask: any): void;
+ setStencilOp(stencilFail: any, stencilZFail: any, stencilZPass: any): void;
+ setStencilTest(stencilTest: boolean): void;
+ setStencilWrite(stencilWrite: any): void;
+ setFlipSided(flipSided: number): void;
+ setLineWidth(width: number): void;
setPolygonOffset(polygonoffset: number, factor: number, units: number): void;
- setScissorTest( scissorTest: boolean ): void;
- activeTexture( webglSlot: any ): void;
- bindTexture( webglType: any, webglTexture: any ): void;
+ setScissorTest(scissorTest: boolean): void;
+ getScissorTest(): boolean;
+ activeTexture(webglSlot: any): void;
+ bindTexture(webglType: any, webglTexture: any): void;
compressedTexImage2D(): void;
texImage2D(): void;
+ clearColor(r: number, g: number, b: number, a: number): void;
+ clearDepth(depth: number): void;
+ clearStencil(stencil: any): void;
+ scissor(scissor: any): void;
+ viewport(viewport: any): void;
reset(): void;
}
- interface WebGLStateStatic{
- new ( gl: any, extensions: any, paramThreeToGL: Function ): WebGLStateInstance;
- }
- export var WebGLState: WebGLStateStatic;
-
// Renderers / WebGL / Plugins /////////////////////////////////////////////////////////////////////
- export interface RendererPlugin {
- init(renderer: WebGLRenderer): void;
- render(scene: Scene, camera: Camera, currentWidth: number, currentHeight: number): void;
- }
-
- export class LensFlarePlugin implements RendererPlugin {
- constructor();
-
- init(renderer: Renderer): void;
+ export class LensFlarePlugin {
+ constructor(renderer: WebGLRenderer, flares: any[]);
+
render(scene: Scene, camera: Camera, viewportWidth: number, viewportHeight: number): void;
}
- export class SpritePlugin implements RendererPlugin {
- constructor();
+ export class SpritePlugin {
+ constructor(renderer: WebGLRenderer, sprites: any[]);
- init(renderer: Renderer): void;
render(scene: Scene, camera: Camera, viewportWidth: number, viewportHeight: number): void;
}
// Scenes /////////////////////////////////////////////////////////////////////
+
+ /**
+ * Scenes allow you to set up what and where is to be rendered by three.js. This is where you place objects, lights and cameras.
+ */
+ export class Scene extends Object3D {
+ constructor();
+
+ /**
+ * A fog instance defining the type of fog that affects everything rendered in the scene. Default is null.
+ */
+ fog: IFog;
+
+ /**
+ * If not null, it will force everything in the scene to be rendered with that material. Default is null.
+ */
+ overrideMaterial: Material;
+ autoUpdate: boolean;
+
+ copy(source: Scene, recursive?: boolean): Scene;
+ }
export interface IFog {
name:string;
@@ -5055,7 +5341,6 @@ declare namespace THREE {
clone():IFog;
}
-
/**
* This class contains the parameters that define linear fog, i.e., that grows linearly denser with the distance.
*/
@@ -5101,103 +5386,8 @@ declare namespace THREE {
clone(): FogExp2;
}
- /**
- * Scenes allow you to set up what and where is to be rendered by three.js. This is where you place objects, lights and cameras.
- */
- export class Scene extends Object3D {
- constructor();
-
- /**
- * A fog instance defining the type of fog that affects everything rendered in the scene. Default is null.
- */
- fog: IFog;
-
- /**
- * If not null, it will force everything in the scene to be rendered with that material. Default is null.
- */
- overrideMaterial: Material;
- autoUpdate: boolean;
-
- copy(source: Scene): Scene;
- }
-
// Textures /////////////////////////////////////////////////////////////////////
- export class CanvasTexture extends Texture {
- constructor(
- canvas: HTMLImageElement | HTMLCanvasElement | HTMLVideoElement,
- mapping?: Mapping,
- wrapS?: Wrapping,
- wrapT?: Wrapping,
- magFilter?: TextureFilter,
- minFilter?: TextureFilter,
- format?: PixelFormat,
- type?: TextureDataType,
- anisotropy?: number
- );
-
- needsUpdate: boolean;
- }
-
- export class CompressedTexture extends Texture {
- constructor(
- mipmaps: ImageData[],
- width: number,
- height: number,
- format?: PixelFormat,
- type?: TextureDataType,
- mapping?: Mapping,
- wrapS?: Wrapping,
- wrapT?: Wrapping,
- magFilter?: TextureFilter,
- minFilter?: TextureFilter,
- anisotropy?: number
- );
-
- image: { width: number; height: number; };
- mipmaps: ImageData[];
- flipY: boolean;
- generateMipmaps: boolean;
- }
-
- export class CubeTexture extends Texture {
- constructor(
- images: any[], // HTMLImageElement or HTMLCanvasElement
- mapping?: Mapping,
- wrapS?: Wrapping,
- wrapT?: Wrapping,
- magFilter?: TextureFilter,
- minFilter?: TextureFilter,
- format?: PixelFormat,
- type?: TextureDataType,
- anisotropy?: number
- );
-
- images: any[];
-
- copy(source: CubeTexture): CubeTexture;
- }
-
- export class DataTexture extends Texture {
- constructor(
- data: ImageData,
- width: number,
- height: number,
- format: PixelFormat,
- type: TextureDataType,
- mapping: Mapping,
- wrapS: Wrapping,
- wrapT: Wrapping,
- magFilter: TextureFilter,
- minFilter: TextureFilter,
- anisotropy?: number
- );
-
- image: { data: ImageData; width: number; height: number; };
- magFilter: TextureFilter;
- minFilter: TextureFilter;
- flipY: boolean;
- generateMipmaps: boolean;
- }
+ export let TextureIdCount: number;
export class Texture {
constructor(
@@ -5242,7 +5432,7 @@ declare namespace THREE {
copy(source: Texture): Texture;
toJSON(meta: any): any;
dispose(): void;
- transformUv( uv: Vector ): void;
+ transformUv(uv: Vector): void;
// EventDispatcher mixins
addEventListener(type: string, listener: (event: any) => void ): void;
@@ -5251,7 +5441,84 @@ declare namespace THREE {
dispatchEvent(event: { type: string; target: any; }): void;
}
- class VideoTexture extends Texture {
+ export class CanvasTexture extends Texture {
+ constructor(
+ canvas: HTMLImageElement | HTMLCanvasElement | HTMLVideoElement,
+ mapping?: Mapping,
+ wrapS?: Wrapping,
+ wrapT?: Wrapping,
+ magFilter?: TextureFilter,
+ minFilter?: TextureFilter,
+ format?: PixelFormat,
+ type?: TextureDataType,
+ anisotropy?: number
+ );
+
+ clone(): CanvasTexture;
+ copy(source: CanvasTexture): CanvasTexture;
+ }
+
+ export class CubeTexture extends Texture {
+ constructor(
+ images: any[], // HTMLImageElement or HTMLCanvasElement
+ mapping?: Mapping,
+ wrapS?: Wrapping,
+ wrapT?: Wrapping,
+ magFilter?: TextureFilter,
+ minFilter?: TextureFilter,
+ format?: PixelFormat,
+ type?: TextureDataType,
+ anisotropy?: number
+ );
+
+ images: any[];
+
+ copy(source: CubeTexture): CubeTexture;
+ }
+
+ export class CompressedTexture extends Texture {
+ constructor(
+ mipmaps: ImageData[],
+ width: number,
+ height: number,
+ format?: PixelFormat,
+ type?: TextureDataType,
+ mapping?: Mapping,
+ wrapS?: Wrapping,
+ wrapT?: Wrapping,
+ magFilter?: TextureFilter,
+ minFilter?: TextureFilter,
+ anisotropy?: number
+ );
+
+ image: { width: number; height: number; };
+
+ clone(): CompressedTexture;
+ copy(source: CompressedTexture): CompressedTexture;
+ }
+
+ export class DataTexture extends Texture {
+ constructor(
+ data: ImageData,
+ width: number,
+ height: number,
+ format: PixelFormat,
+ type: TextureDataType,
+ mapping: Mapping,
+ wrapS: Wrapping,
+ wrapT: Wrapping,
+ magFilter: TextureFilter,
+ minFilter: TextureFilter,
+ anisotropy?: number
+ );
+
+ image: { data: ImageData; width: number; height: number; };
+
+ clone(): DataTexture;
+ copy(source: DataTexture): DataTexture;
+ }
+
+ export class VideoTexture extends Texture {
constructor(
video: HTMLVideoElement,
mapping?: Mapping,
@@ -5264,64 +5531,61 @@ declare namespace THREE {
anisotropy?: number
);
- generateMipmaps: boolean;
+ clone(): VideoTexture;
+ copy(source: VideoTexture): VideoTexture;
}
// Extras /////////////////////////////////////////////////////////////////////
- export var CurveUtils: {
- tangentQuadraticBezier(t: number, p0: number, p1: number, p2: number): number;
- tangentCubicBezier(t: number, p0: number, p1: number, p2: number, p3: number): number;
- tangentSpline(t: number, p0: number, p1: number, p2: number, p3: number): number;
- interpolate(p0: number, p1: number, p2: number, p3: number, t: number): number;
+ export namespace CurveUtils {
+ export function tangentQuadraticBezier(t: number, p0: number, p1: number, p2: number): number;
+ export function tangentCubicBezier(t: number, p0: number, p1: number, p2: number, p3: number): number;
+ export function tangentSpline(t: number, p0: number, p1: number, p2: number, p3: number): number;
+ export function interpolate(p0: number, p1: number, p2: number, p3: number, t: number): number;
}
- // deprecated.
- export var ImageUtils: {
- crossOrigin: string;
+ export namespace ImageUtils { // deprecated
+ export let crossOrigin: string;
- // deprecated.
- loadTexture(url: string, mapping?: Mapping, onLoad?: (texture: Texture) => void, onError?: (message: string) => void): Texture;
+ export function loadTexture(url: string, mapping?: Mapping, onLoad?: (texture: Texture) => void, onError?: (message: string) => void): Texture;
+ export function loadTextureCube(array: string[], mapping?: Mapping, onLoad?: (texture: Texture) => void , onError?: (message: string) => void ): Texture;
+ }
- // deprecated.
- loadTextureCube(array: string[], mapping?: Mapping, onLoad?: (texture: Texture) => void , onError?: (message: string) => void ): Texture;
+ export namespace SceneUtils {
+ export function createMultiMaterialObject(geometry: Geometry, materials: Material[]): Object3D;
+ export function detach(child: Object3D, parent: Object3D, scene: Scene): void;
+ export function attach(child: Object3D, scene: Scene, parent: Object3D): void;
+ }
- // deprecated.
- getNormalMap(image: HTMLImageElement, depth?: number): HTMLCanvasElement;
-
- // deprecated.
- generateDataTexture(width: number, height: number, color: Color): DataTexture;
- };
-
- export var SceneUtils: {
- createMultiMaterialObject(geometry: Geometry, materials: Material[]): Object3D;
- detach(child: Object3D, parent: Object3D, scene: Scene): void;
- attach(child: Object3D, scene: Scene, parent: Object3D): void;
- };
-
- export var ShapeUtils: {
- area( contour: number[] ): number;
- triangulate( contour: number[], indices: boolean ): number[];
- triangulateShape( contour: number[], holes: any[] ): number[];
- isClockWise( pts: number[] ): boolean;
- b2( t: number, p0: number, p1: number, p2: number ): number;
- b3( t: number, p0: number, p1: number, p2: number, p3: number ): number;
- };
+ export namespace ShapeUtils {
+ export function area(contour: number[]): number;
+ export function triangulate(contour: number[], indices: boolean): number[];
+ export function triangulateShape(contour: number[], holes: any[]): number[];
+ export function isClockWise(pts: number[]): boolean;
+ export function b2(t: number, p0: number, p1: number, p2: number): number;
+ export function b3(t: number, p0: number, p1: number, p2: number, p3: number): number;
+ }
// Extras / Audio /////////////////////////////////////////////////////////////////////
export class Audio extends Object3D {
constructor(listener: AudioListener);
+
type: string;
context: AudioContext;
source: AudioBufferSourceNode;
gain: GainNode;
- panner: PannerNode;
autoplay: boolean;
startTime: number;
playbackRate: number;
+ hasPlaybackControl: boolean;
isPlaying: boolean;
+ sourceType: string;
+ filter: any;
+ getOutput(): GainNode;
load(file: string): Audio;
+ setNodeSource(audioNode: AudioBufferSourceNode): Audio;
+ setBuffer(audioBuffer: AudioBuffer): Audio;
play(): void;
pause(): void;
stop(): void;
@@ -5331,16 +5595,46 @@ declare namespace THREE {
getFilter(): any;
setPlaybackRate(value: number): void;
getPlaybackRate(): number;
-
+ onEnded(): void;
setLoop(value: boolean): void;
getLoop(): boolean;
+ setVolume(value: number): void;
+ getVolume(): number;
+ }
+
+ export class AudioAnalyser {
+ constructor(audio: any, fftSize: number);
+
+ analyser: any;
+ data: Uint8Array;
+
+ getData(): Uint8Array;
+ }
+
+ export class AudioBuffer {
+ constructor(context: any);
+
+ context: any;
+ ready: boolean;
+ readyCallbacks: Function[];
+
+ load(file: string): AudioBuffer;
+ onReady(callback: Function): void;
+ }
+
+ export class PositionalAudio extends Audio {
+ constructor(listener: AudioListener);
+
+ panner: PannerNode;
+
setRefDistance(value: number): void;
getRefDistance(): number;
setRolloffFactor(value: number): void;
getRolloffFactor(): number;
- setVolume(value: number): void;
- getVolume(): number;
- updateMatrixWorld(force?: boolean): void;
+ setDistanceModel(value: number): void;
+ getDistanceModel(): number;
+ setMaxDistance(value: number): void;
+ getMaxDistance(): number;
}
export class AudioListener extends Object3D {
@@ -5348,8 +5642,14 @@ declare namespace THREE {
type: string;
context: AudioContext;
+ gain: GainNode;
- updateMatrixWorld(force?: boolean): void;
+ getInput(): GainNode;
+ removeFilter(): void;
+ setFilter(value: any): void;
+ getFilter(): any;
+ setMasterVolume(value: number): void;
+ getMasterVolume(): number;
}
// Extras / Core /////////////////////////////////////////////////////////////////////
@@ -5418,22 +5718,6 @@ declare namespace THREE {
static create(constructorFunc: Function, getPointFunc: Function): Function;
}
- export var CurveUtils: {
- tangentQuadraticBezier(t: number, p0: number, p1: number, p2: number): number;
- tangentCubicBezier(t: number, p0: number, p1: number, p2: number, p3: number): number;
- tangentSpline(t: number, p0: number, p1: number, p2: number, p3: number): number;
- interpolate(p0: number, p1: number, p2: number, p3: number, t: number): number;
- };
-
- export interface BoundingBox {
- minX: number;
- minY: number;
- minZ?: number;
- maxX: number;
- maxY: number;
- maxZ?: number;
- }
-
export class CurvePath extends Curve {
constructor();
@@ -5484,9 +5768,9 @@ declare namespace THREE {
absarc(aX: number, aY: number, aRadius: number, aStartAngle: number, aEndAngle: number, aClockwise: boolean): void;
ellipse(aX: number, aY: number, xRadius: number, yRadius: number, aStartAngle: number, aEndAngle: number, aClockwise: boolean, aRotation: number): void;
absellipse(aX: number, aY: number, xRadius: number, yRadius: number, aStartAngle: number, aEndAngle: number, aClockwise: boolean, aRotation: number): void;
- getSpacedPoints(divisions?: number, closedPath?: boolean): Vector2[];
+ getSpacedPoints(divisions?: number): Vector2[];
getPoints(divisions?: number, closedPath?: boolean): Vector2[];
- toShapes(): Shape[];
+ toShapes(isCCW: boolean, noHoles: any): Shape[];
}
/**
@@ -5505,24 +5789,20 @@ declare namespace THREE {
holes: Vector2[][];
};
extractPoints(divisions: number): Vector2[];
-
}
// Extras / Curves /////////////////////////////////////////////////////////////////////
- export class ArcCurve extends EllipseCurve {
- constructor(aX: number, aY: number, aRadius: number, aStartAngle: number, aEndAngle: number, aClockwise: boolean );
- }
-
export class CatmullRomCurve3 extends Curve {
- constructor();
- }
-
- export class ClosedSplineCurve3 extends Curve {
constructor(points?: Vector3[]);
points: Vector3[];
+
+ getPoint(t: number): Vector3;
}
+ export class ClosedSplineCurve3 extends CatmullRomCurve3 {} // deprecated, use CatmullRomCurve3
+ export class SplineCurve3 extends CatmullRomCurve3 {} // will be deprecated, use CatmullRomCurve3
+
export class CubicBezierCurve extends Curve {
constructor(v0: Vector2, v1: Vector2, v2: Vector2, v3: Vector2);
@@ -5531,6 +5811,7 @@ declare namespace THREE {
v2: Vector2;
v3: Vector2;
}
+
export class CubicBezierCurve3 extends Curve {
constructor(v0: Vector3, v1: Vector3, v2: Vector3, v3: Vector3);
@@ -5538,7 +5819,10 @@ declare namespace THREE {
v1: Vector3;
v2: Vector3;
v3: Vector3;
+
+ getPoint(t: number): Vector3;
}
+
export class EllipseCurve extends Curve {
constructor(aX: number, aY: number, xRadius: number, yRadius: number, aStartAngle: number, aEndAngle: number, aClockwise: boolean, aRotation: number);
@@ -5551,19 +5835,26 @@ declare namespace THREE {
aClockwise: boolean;
aRotation: number;
}
+ export class ArcCurve extends EllipseCurve {
+ constructor(aX: number, aY: number, aRadius: number, aStartAngle: number, aEndAngle: number, aClockwise: boolean );
+ }
+
export class LineCurve extends Curve {
constructor( v1: Vector2, v2: Vector2 );
v1: Vector2;
v2: Vector2;
-
}
+
export class LineCurve3 extends Curve {
- constructor( v1: Vector3, v2: Vector3 );
+ constructor(v1: Vector3, v2: Vector3);
v1: Vector3;
v2: Vector3;
+
+ getPoint(t: number): Vector3;
}
+
export class QuadraticBezierCurve extends Curve {
constructor( v0: Vector2, v1: Vector2, v2: Vector2 );
@@ -5571,23 +5862,23 @@ declare namespace THREE {
v1: Vector2;
v2: Vector2;
}
+
export class QuadraticBezierCurve3 extends Curve {
- constructor( v0: Vector3, v1: Vector3, v2: Vector3 );
+ constructor(v0: Vector3, v1: Vector3, v2: Vector3);
v0: Vector3;
v1: Vector3;
v2: Vector3;
+
+ getPoint(t: number): Vector3;
}
+
export class SplineCurve extends Curve {
- constructor( points?: Vector2[] );
+ constructor(points?: Vector2[]);
- points:Vector2[];
- }
- export class SplineCurve3 extends Curve {
- constructor( points?: Vector3[] );
-
- points:Vector3[];
+ points: Vector2[];
}
+
// Extras / Geomerties /////////////////////////////////////////////////////////////////////
/**
@@ -5612,10 +5903,26 @@ declare namespace THREE {
heightSegments: number;
depthSegments: number;
};
+ widthSegments: number
+ heightSegments: number;
+ depthSegments: number;
clone(): BoxGeometry;
}
+ export class CubeGeometry extends BoxGeometry {} // deprecated, use BoxGeometry
+
+ export class CircleGeometry extends Geometry {
+ constructor(radius?: number, segments?: number, thetaStart?: number, thetaLength?: number);
+
+ parameters: {
+ radius: number;
+ segments: number;
+ thetaStart: number;
+ thetaLength: number;
+ };
+ }
+
export class CircleBufferGeometry extends Geometry {
constructor(radius?: number, segments?: number, thetaStart?: number, thetaLength?: number);
@@ -5625,25 +5932,6 @@ declare namespace THREE {
thetaStart: number;
thetaLength: number;
};
-
- clone(): CircleBufferGeometry;
- }
-
- export class CircleGeometry extends Geometry {
- constructor(radius?: number, segments?: number, thetaStart?: number, thetaLength?: number);
-
- parameters: {
- radius: number;
- segments: number;
- thetaStart: number;
- thetaLength: number;
- };
-
- clone(): CircleGeometry;
- }
-
- // deprecated
- export class CubeGeometry extends BoxGeometry {
}
export class CylinderGeometry extends Geometry {
@@ -5667,8 +5955,6 @@ declare namespace THREE {
thetaStart: number;
thetaLength: number;
};
-
- clone(): CylinderGeometry;
}
export class DodecahedronGeometry extends Geometry {
@@ -5678,8 +5964,6 @@ declare namespace THREE {
radius: number;
detail: number;
};
-
- clone(): DodecahedronGeometry;
}
export class EdgesGeometry extends BufferGeometry {
@@ -5703,8 +5987,6 @@ declare namespace THREE {
export class IcosahedronGeometry extends PolyhedronGeometry {
constructor(radius: number, detail: number);
-
- clone(): IcosahedronGeometry;
}
export class LatheGeometry extends Geometry {
@@ -5720,8 +6002,6 @@ declare namespace THREE {
export class OctahedronGeometry extends PolyhedronGeometry {
constructor(radius: number, detail: number);
-
- clone(): OctahedronGeometry;
}
export class ParametricGeometry extends Geometry {
@@ -5743,8 +6023,6 @@ declare namespace THREE {
widthSegments: number;
heightSegments: number;
};
-
- clone(): PlaneBufferGeometry;
}
export class PlaneGeometry extends Geometry {
@@ -5756,8 +6034,6 @@ declare namespace THREE {
widthSegments: number;
heightSegments: number;
};
-
- clone(): PlaneGeometry;
}
export class PolyhedronGeometry extends Geometry {
@@ -5769,8 +6045,7 @@ declare namespace THREE {
radius: number;
detail: number;
};
-
- clone(): PolyhedronGeometry;
+ boundingSphere: Sphere;
}
export class RingGeometry extends Geometry {
@@ -5784,20 +6059,16 @@ declare namespace THREE {
thetaStart: number;
thetaLength: number;
};
-
- clone(): RingGeometry;
}
export class ShapeGeometry extends Geometry {
constructor(shape: Shape, options?: any);
constructor(shapes: Shape[], options?: any);
-
addShapeList(shapes: Shape[], options: any): ShapeGeometry;
addShape(shape: Shape, options?: any): void;
}
-
export class SphereBufferGeometry extends BufferGeometry {
constructor(radius: number, widthSegments?: number, heightSegments?: number, phiStart?: number, phiLength?: number, thetaStart?: number, thetaLength?: number);
@@ -5810,8 +6081,6 @@ declare namespace THREE {
thetaStart: number;
thetaLength: number;
};
-
- clone(): SphereBufferGeometry;
}
/**
@@ -5844,8 +6113,30 @@ declare namespace THREE {
export class TetrahedronGeometry extends PolyhedronGeometry {
constructor(radius?: number, detail?: number);
+ }
- clone(): TetrahedronGeometry;
+ export interface TextGeometryParameters {
+ font: Font;
+ site: number;
+ height: number;
+ curveSegments: number;
+ bevelEnabled: boolean;
+ bevelThickness: number;
+ bevelSize: number;
+ }
+
+ export class TextGeometry extends ExtrudeGeometry {
+ constructor(text: string, parameters?: TextGeometryParameters);
+
+ parameters: {
+ font: Font;
+ site: number;
+ height: number;
+ curveSegments: number;
+ bevelEnabled: boolean;
+ bevelThickness: number;
+ bevelSize: number;
+ }
}
export class TorusGeometry extends Geometry {
@@ -5858,8 +6149,6 @@ declare namespace THREE {
tubularSegments: number;
arc: number;
};
-
- clone(): TorusGeometry;
}
export class TorusKnotGeometry extends Geometry {
@@ -5874,11 +6163,8 @@ declare namespace THREE {
q: number;
heightScale: number;
};
-
- clone(): TorusKnotGeometry;
}
-
export class TubeGeometry extends Geometry {
constructor(path: Path, segments?: number, radius?: number, radiusSegments?: number, closed?: boolean, taper?: (u: number) => number);
@@ -5897,11 +6183,9 @@ declare namespace THREE {
static NoTaper(u?: number): number;
static SinusoidalTaper(u: number): number;
static FrenetFrames(path: Path, segments: number, closed: boolean): void;
-
- clone(): TubeGeometry;
}
- export class WireframeGeometry extends BufferGeometry{
+ export class WireframeGeometry extends BufferGeometry {
constructor(geometry: Geometry | BufferGeometry);
}
@@ -5959,7 +6243,6 @@ declare namespace THREE {
export class EdgesHelper extends LineSegments {
constructor(object: Object3D, hex?: number, thresholdAngle?: number);
-
}
export class FaceNormalsHelper extends LineSegments {
@@ -5979,6 +6262,7 @@ declare namespace THREE {
setColors(colorCenterLine: number, colorGrid: number): void;
}
+
export class HemisphereLightHelper extends Object3D {
constructor(light: Light, sphereSize: number);
@@ -6030,7 +6314,6 @@ declare namespace THREE {
export class WireframeHelper extends LineSegments {
constructor(object: Object3D, hex?: number);
-
}
// Extras / Objects /////////////////////////////////////////////////////////////////////
@@ -6039,7 +6322,7 @@ declare namespace THREE {
constructor(material: Material);
material: Material;
- render(renderCallback:Function): void;
+ render(renderCallback: Function): void;
}
export interface MorphBlendMeshAnimation {