Merge pull request #14971 from efokschaner/threejs-fix

three.js: enable noImplicitAny
This commit is contained in:
Mine Starks
2017-03-07 16:16:40 -08:00
committed by GitHub
30 changed files with 204 additions and 206 deletions

2
three/index.d.ts vendored
View File

@@ -2493,7 +2493,7 @@ declare namespace THREE {
constructor(parameters?: MeshLambertMaterialParameters);
color: Color;
emissive: number|string;
emissive: Color;
emissiveIntensity: number;
emissiveMap: Texture;
map: Texture;

View File

@@ -4,8 +4,8 @@
// https://github.com/mrdoob/three.js/blob/master/examples/canvas_camera_orthographic.html
() => {
var container, stats;
var camera, scene, renderer;
var container: HTMLDivElement, stats: Stats;
var camera: THREE.OrthographicCamera, scene: THREE.Scene, renderer: THREE.CanvasRenderer;
init();
animate();

View File

@@ -4,11 +4,11 @@
// https://github.com/mrdoob/three.js/blob/master/examples/canvas_geometry_cube.html
() => {
var container, stats;
var container: HTMLDivElement, stats: Stats;
var camera, scene, renderer;
var camera: THREE.PerspectiveCamera, scene: THREE.Scene, renderer: THREE.CanvasRenderer;
var cube, plane;
var cube: THREE.Mesh, plane: THREE.Mesh;
var targetRotation = 0;
var targetRotationOnMouseDown = 0;
@@ -104,7 +104,7 @@
//
function onDocumentMouseDown(event) {
function onDocumentMouseDown(event: MouseEvent) {
event.preventDefault();
@@ -117,7 +117,7 @@
}
function onDocumentMouseMove(event) {
function onDocumentMouseMove(event: MouseEvent) {
mouseX = event.clientX - windowHalfX;
@@ -125,7 +125,7 @@
}
function onDocumentMouseUp(event) {
function onDocumentMouseUp(event: MouseEvent) {
document.removeEventListener('mousemove', onDocumentMouseMove, false);
document.removeEventListener('mouseup', onDocumentMouseUp, false);
@@ -133,7 +133,7 @@
}
function onDocumentMouseOut(event) {
function onDocumentMouseOut(event: MouseEvent) {
document.removeEventListener('mousemove', onDocumentMouseMove, false);
document.removeEventListener('mouseup', onDocumentMouseUp, false);
@@ -141,7 +141,7 @@
}
function onDocumentTouchStart(event) {
function onDocumentTouchStart(event: TouchEvent) {
if (event.touches.length === 1) {
@@ -154,7 +154,7 @@
}
function onDocumentTouchMove(event) {
function onDocumentTouchMove(event: TouchEvent) {
if (event.touches.length === 1) {

View File

@@ -5,11 +5,11 @@
// https://github.com/mrdoob/three.js/blob/master/examples/canvas_interactive_cubes_tween.html
() => {
var container, stats;
var camera, scene, renderer;
var container: HTMLDivElement, stats: Stats;
var camera: THREE.PerspectiveCamera, scene: THREE.Scene, renderer: THREE.CanvasRenderer;
var raycaster;
var mouse;
var raycaster: THREE.Raycaster;
var mouse: THREE.Vector2;
init();
animate();
@@ -85,17 +85,17 @@
}
function onDocumentTouchStart(event) {
function onDocumentTouchStart(event: TouchEvent) {
event.preventDefault();
event.clientX = event.touches[0].clientX;
event.clientY = event.touches[0].clientY;
onDocumentMouseDown(event);
let usurpedEvent = event as any;
usurpedEvent.clientX = event.touches[0].clientX;
usurpedEvent.clientY = event.touches[0].clientY;
onDocumentMouseDown(usurpedEvent);
}
function onDocumentMouseDown(event) {
function onDocumentMouseDown(event: MouseEvent) {
event.preventDefault();

View File

@@ -6,9 +6,9 @@
() => {
// ------- variable definitions that does not exist in the original code. These are for typescript.
// -------
var camera, scene, renderer,
light1, light2, light3,
loader, mesh;
var camera: THREE.PerspectiveCamera, scene: THREE.Scene, renderer: THREE.CanvasRenderer,
light1: THREE.PointLight, light2: THREE.PointLight, light3: THREE.PointLight,
loader: THREE.JSONLoader, mesh: THREE.Mesh;
init();
animate();
@@ -34,7 +34,7 @@
scene.add(light3);
var PI2 = Math.PI * 2;
var program = function (context) {
var program = function (context: CanvasRenderingContext2D) {
context.beginPath();
context.arc(0, 0, 0.5, 0, PI2, true);

View File

@@ -5,10 +5,10 @@
() => {
// ------- variable definitions that does not exist in the original code. These are for typescript.
var container, stats;
var container: HTMLDivElement, stats: Stats;
var camera, scene, renderer, objects;
var pointLight;
var camera: THREE.PerspectiveCamera, scene: THREE.Scene, renderer: THREE.CanvasRenderer, objects: THREE.Mesh[];
var pointLight: THREE.PointLight;
init();
animate();
@@ -90,7 +90,7 @@
}
var PI2 = Math.PI * 2;
var program = function (context) {
var program = function (context: CanvasRenderingContext2D) {
context.beginPath();
context.arc(0, 0, 0.5, 0, PI2, true);
@@ -98,9 +98,9 @@
}
// Lights
// Lights
scene.add(new THREE.AmbientLight(Math.random() * 0x202020));
scene.add(new THREE.AmbientLight(Math.random() * 0x202020));
var directionalLight = new THREE.DirectionalLight(Math.random() * 0xffffff);
directionalLight.position.x = Math.random() - 0.5;
@@ -154,12 +154,12 @@
}
function loadImage(path) {
function loadImage(path: string) {
var image = document.createElement('img');
var texture = new THREE.Texture(image, THREE.UVMapping)
image.onload = function () { texture.needsUpdate = true; };
image.onload = function () { texture.needsUpdate = true; };
image.src = path;
return texture;

View File

@@ -10,8 +10,8 @@
var AMOUNTX = 50;
var AMOUNTY = 50;
var container, stats;
var camera, scene, renderer, particle;
var container: HTMLDivElement, stats: Stats;
var camera: THREE.PerspectiveCamera, scene: THREE.Scene, renderer: THREE.CanvasRenderer, particle: THREE.Sprite;
var mouseX = 0, mouseY = 0;
var windowHalfX = window.innerWidth / 2;
@@ -80,13 +80,13 @@
//
function onDocumentMouseMove(event) {
function onDocumentMouseMove(event: MouseEvent) {
mouseX = event.clientX - windowHalfX;
mouseY = event.clientY - windowHalfY;
}
function onDocumentTouchStart(event) {
function onDocumentTouchStart(event: TouchEvent) {
if (event.touches.length > 1) {
@@ -97,7 +97,7 @@
}
}
function onDocumentTouchMove(event) {
function onDocumentTouchMove(event: TouchEvent) {
if (event.touches.length == 1) {

View File

@@ -128,11 +128,18 @@
"Uuo", "Ununoctium", "(294)", 18, 7
];
var camera, scene, renderer;
var controls;
var camera: THREE.PerspectiveCamera, scene: THREE.Scene, renderer: THREE.CSS3DRenderer;
var controls: THREE.TrackballControls;
var objects = [];
var targets = { table: [], sphere: [], helix: [], grid: [] };
var objects: THREE.CSS3DObject[] = [];
class Targets {
constructor() {}
public table: THREE.Object3D[] = [];
public sphere: THREE.Object3D[] = [];
public helix: THREE.Object3D[] = [];
public grid: THREE.Object3D[] = [];
}
let targets = new Targets();
init();
animate();
@@ -262,28 +269,28 @@
controls.addEventListener('change', render);
var button = document.getElementById('table');
button.addEventListener('click', function (event) {
button.addEventListener('click', function (event: MouseEvent) {
transform(targets.table, 2000);
}, false);
var button = document.getElementById('sphere');
button.addEventListener('click', function (event) {
button.addEventListener('click', function (event: MouseEvent) {
transform(targets.sphere, 2000);
}, false);
var button = document.getElementById('helix');
button.addEventListener('click', function (event) {
button.addEventListener('click', function (event: MouseEvent) {
transform(targets.helix, 2000);
}, false);
var button = document.getElementById('grid');
button.addEventListener('click', function (event) {
button.addEventListener('click', function (event: MouseEvent) {
transform(targets.grid, 2000);
@@ -297,7 +304,7 @@
}
function transform(targets, duration) {
function transform(targets: THREE.Object3D[], duration: number) {
TWEEN.removeAll();

View File

@@ -8,12 +8,12 @@
// ------- variable definitions that does not exist in the original code. These are for typescript.
// -------
var camera, scene, renderer;
var controls;
var camera: THREE.PerspectiveCamera, scene: THREE.Scene, renderer: THREE.CSS3DRenderer;
var controls: THREE.TrackballControls;
var particlesTotal = 512;
var positions = [];
var objects = [];
var positions: number[] = [];
var objects: THREE.CSS3DSprite[] = [];
var current = 0;
init();
@@ -28,7 +28,7 @@
scene = new THREE.Scene();
var image = document.createElement('img');
image.addEventListener('load', function (event) {
image.addEventListener('load', function (event: Event) {
for (var i = 0; i < particlesTotal; i++) {
@@ -36,7 +36,7 @@
object.position.x = Math.random() * 4000 - 2000,
object.position.y = Math.random() * 4000 - 2000,
object.position.z = Math.random() * 4000 - 2000
scene.add(object);
scene.add(object);
objects.push(object);

View File

@@ -524,7 +524,7 @@ declare function equal<T>(a: T, b: T, desc?: string): void;
ok( b.clone().union( c ).equals( c ), "Passed!" );
});
var compareBox = function ( a, b, threshold? ) {
var compareBox = function ( a: THREE.Box3, b: THREE.Box3, threshold?: number ) {
threshold = threshold || 0.0001;
return ( a.min.distanceTo( b.min ) < threshold &&
a.max.distanceTo( b.max ) < threshold );
@@ -768,7 +768,7 @@ declare function equal<T>(a: T, b: T, desc?: string): void;
var eulerAxyz = new THREE.Euler( 1, 0, 0, "XYZ" );
var eulerAzyx = new THREE.Euler( 0, 1, 0, "ZYX" );
var matrixEquals4 = function( a, b ) {
var matrixEquals4 = function( a: THREE.Matrix4, b: THREE.Matrix4 ) {
var tolerance = 0.0001;
if( a.elements.length != b.elements.length ) {
return false;
@@ -782,14 +782,14 @@ declare function equal<T>(a: T, b: T, desc?: string): void;
return true;
};
var eulerEquals = function (a, b, tolerance?: any) {
var eulerEquals = function (a: THREE.Euler, b: THREE.Euler, tolerance?: number) {
tolerance = tolerance || 0.0001;
var diff = Math.abs(a.x - b.x) + Math.abs(a.y - b.y) + Math.abs(a.z - b.z);
return (diff < tolerance);
};
var quatEquals = function (a, b, tolerance?: any) {
var quatEquals = function (a: THREE.Quaternion, b: THREE.Quaternion, tolerance?: number) {
tolerance = tolerance || 0.0001;
var diff = Math.abs(a.x - b.x) + Math.abs(a.y - b.y) + Math.abs(a.z - b.z) + Math.abs(a.w - b.w);
return (diff < tolerance);
@@ -843,7 +843,7 @@ declare function equal<T>(a: T, b: T, desc?: string): void;
var v2 = new THREE.Euler().setFromQuaternion( q, v.order );
var q2 = new THREE.Quaternion().setFromEuler( v2 );
ok(eulerEquals(q, q2), "Passed!");
ok(quatEquals(q, q2), "Passed!");
}
});
@@ -899,7 +899,7 @@ declare function equal<T>(a: T, b: T, desc?: string): void;
var unit3 = new THREE.Vector3( 1, 0, 0 );
var planeEquals = function ( a, b, tolerance ) {
var planeEquals = function ( a: THREE.Plane, b: THREE.Plane, tolerance: number ) {
tolerance = tolerance || 0.0001;
if( a.normal.distanceTo( b.normal ) > tolerance ) {
return false;
@@ -1116,7 +1116,7 @@ declare function equal<T>(a: T, b: T, desc?: string): void;
// -------------------------------------------- Matrix3
var matrixEquals3 = function( a, b, tolerance? ) {
var matrixEquals3 = function( a: THREE.Matrix, b: THREE.Matrix, tolerance?: number ) {
tolerance = tolerance || 0.0001;
if( a.elements.length != b.elements.length ) {
return false;
@@ -1131,7 +1131,7 @@ declare function equal<T>(a: T, b: T, desc?: string): void;
};
var toMatrix4 = function( m3 ) {
var toMatrix4 = function( m3: THREE.Matrix3 ) {
var result = new THREE.Matrix4();
var re = result.elements;
var me = m3.elements;
@@ -1330,20 +1330,6 @@ declare function equal<T>(a: T, b: T, desc?: string): void;
// -------------------------------------------- Matrix4
var matrixEquals4 = function (a, b) {
var tolerance = 0.0001;
if( a.elements.length != b.elements.length ) {
return false;
}
for( var i = 0, il = a.elements.length; i < il; i ++ ) {
var delta = a.elements[i] - b.elements[i];
if( delta > tolerance ) {
return false;
}
}
return true;
};
test( "constructor", function() {
var a = new THREE.Matrix4();
ok( a.determinant() == 1, "Passed!" );
@@ -1662,7 +1648,7 @@ declare function equal<T>(a: T, b: T, desc?: string): void;
// -------------------------------------------- Plane
var comparePlane = function ( a, b, threshold? ) {
var comparePlane = function ( a: THREE.Plane, b: THREE.Plane, threshold?: number ) {
threshold = threshold || 0.0001;
return ( a.normal.distanceTo( b.normal ) < threshold &&
Math.abs( a.constant - b.constant ) < threshold );
@@ -1861,7 +1847,7 @@ declare function equal<T>(a: T, b: T, desc?: string): void;
var qSub = function ( a, b ) {
var qSub = function ( a: THREE.Quaternion, b: THREE.Quaternion ) {
var result = new THREE.Quaternion();
result.copy( a );

View File

@@ -15,8 +15,8 @@
// -------
/* testing cloth simulation */
var pinsFormation = [];
var pins = [6];
var pinsFormation: number[][] = [];
var pins: number[] = [6];
pinsFormation.push(pins);
@@ -52,7 +52,7 @@
var sphere: THREE.Mesh;
var object: THREE.Mesh;
var arrow: THREE.ArrowHelper;
var light: THREE.DirectionalLight, materials;
var light: THREE.DirectionalLight;
var rotate = true;
init();

View File

@@ -107,7 +107,7 @@
var loader = new THREE.JSONLoader();
loader.load( "models/skinned/knight.js", function ( geometry, materials ) {
createScene( geometry, materials, 0, FLOOR, -300, 60 )
createScene( geometry, materials as THREE.MeshPhongMaterial[], 0, FLOOR, -300, 60 )
} );
@@ -133,7 +133,7 @@
}
function createScene( geometry, materials, x, y, z, s ) {
function createScene( geometry: THREE.Geometry, materials: THREE.MeshPhongMaterial[], x: number, y: number, z: number, s: number ) {
//ensureLoop( geometry.animation );
@@ -203,7 +203,7 @@
}
function onDocumentMouseMove( event ) {
function onDocumentMouseMove( event: MouseEvent ) {
mouseX = ( event.clientX - windowHalfX );
mouseY = ( event.clientY - windowHalfY );

View File

@@ -14,9 +14,9 @@
var renderer: THREE.WebGLRenderer;
var mesh: THREE.Mesh;
var cameraRig, activeCamera, activeHelper;
var cameraPerspective, cameraOrtho;
var cameraPerspectiveHelper, cameraOrthoHelper;
var cameraRig: THREE.Group, activeCamera: THREE.PerspectiveCamera | THREE.OrthographicCamera, activeHelper: THREE.CameraHelper;
var cameraPerspective: THREE.PerspectiveCamera, cameraOrtho: THREE.OrthographicCamera;
var cameraPerspectiveHelper: THREE.CameraHelper, cameraOrthoHelper: THREE.CameraHelper;
init();
animate();
@@ -128,7 +128,7 @@
//
function onKeyDown ( event ) {
function onKeyDown ( event: KeyboardEvent ) {
switch( event.keyCode ) {
@@ -152,7 +152,7 @@
//
function onWindowResize( event ) {
function onWindowResize( event: Event ) {
SCREEN_WIDTH = window.innerWidth;
SCREEN_HEIGHT = window.innerHeight;

View File

@@ -6,11 +6,11 @@
() => {
if (!Detector.webgl) Detector.addGetWebGLMessage();
var renderer, scene, camera, stats;
var renderer: THREE.WebGLRenderer, scene: THREE.Scene, camera: THREE.PerspectiveCamera, stats: Stats;
var sphere, uniforms;
var sphere: THREE.Mesh, uniforms: { amplitude: { type: string; value: number; }; color: { type: string; value: THREE.Color; }; texture: { type: string; value: THREE.Texture; }; };
var displacement, noise;
var displacement: Float32Array, noise: Float32Array;
init();
animate();
@@ -45,8 +45,8 @@
var geometry = new THREE.SphereBufferGeometry( radius, segments, rings );
displacement = new Float32Array( geometry.attributes["position"].count );
noise = new Float32Array( geometry.attributes["position"].count );
displacement = new Float32Array( geometry.getAttribute('position').count );
noise = new Float32Array( geometry.getAttribute('position').count );
for ( var i = 0; i < displacement.length; i ++ ) {
@@ -116,7 +116,7 @@
}
sphere.geometry.attributes.displacement.needsUpdate = true;
((sphere.geometry as THREE.BufferGeometry).getAttribute('displacement')as THREE.BufferAttribute).needsUpdate = true;
renderer.render(scene, camera);

View File

@@ -6,9 +6,9 @@
() => {
if (!Detector.webgl) Detector.addGetWebGLMessage();
var container, stats;
var container: HTMLDivElement, stats: Stats;
var camera, scene, renderer;
var camera: THREE.PerspectiveCamera, scene: THREE.Scene, renderer: THREE.WebGLRenderer;
init();
animate();
@@ -23,7 +23,7 @@
scene = new THREE.Scene();
var light, object;
var light: THREE.DirectionalLight, object: THREE.Mesh | THREE.AxisHelper | THREE.ArrowHelper;
scene.add(new THREE.AmbientLight(0x404040));
@@ -79,7 +79,7 @@
//
var points = [];
var points: THREE.Vector3[] = [];
for (var i = 0; i < 50; i++) {

View File

@@ -4,8 +4,8 @@
// https://github.com/mrdoob/three.js/blob/master/examples/webgl_helpers.html
() => {
var scene, renderer;
var camera, light;
var scene: THREE.Scene, renderer: THREE.WebGLRenderer;
var camera: THREE.PerspectiveCamera, light: THREE.PointLight;
init();
animate();

View File

@@ -4,10 +4,10 @@
// https://github.com/mrdoob/three.js/blob/master/examples/webgl_interactive_cubes.html
() => {
var container, stats;
var camera, scene, raycaster, renderer;
var container: HTMLDivElement, stats: Stats;
var camera: THREE.PerspectiveCamera, scene: THREE.Scene, raycaster: THREE.Raycaster, renderer: THREE.WebGLRenderer;
var mouse = new THREE.Vector2(), INTERSECTED;
var mouse = new THREE.Vector2(), INTERSECTED: THREE.Mesh | null;
var radius = 100, theta = 0;
init();
@@ -87,7 +87,7 @@
}
function onDocumentMouseMove(event) {
function onDocumentMouseMove(event: MouseEvent) {
event.preventDefault();
@@ -107,6 +107,8 @@
}
let INTERSECTED_currentHex = 0;
function render() {
theta += 0.1;
@@ -116,7 +118,7 @@
camera.position.z = radius * Math.cos(THREE.Math.degToRad(theta));
camera.lookAt(scene.position);
camera.updateMatrixWorld();
camera.updateMatrixWorld(false);
// find intersections
@@ -128,17 +130,17 @@
if (INTERSECTED != intersects[0].object) {
if (INTERSECTED) INTERSECTED.material.emissive.setHex(INTERSECTED.currentHex);
if (INTERSECTED) (INTERSECTED.material as THREE.MeshLambertMaterial).emissive.setHex(INTERSECTED_currentHex);
INTERSECTED = intersects[0].object;
INTERSECTED.currentHex = INTERSECTED.material.emissive.getHex();
INTERSECTED.material.emissive.setHex(0xff0000);
INTERSECTED = intersects[0].object as THREE.Mesh;
INTERSECTED_currentHex = (INTERSECTED.material as THREE.MeshLambertMaterial).emissive.getHex();
(INTERSECTED.material as THREE.MeshLambertMaterial).emissive.setHex(0xff0000);
}
} else {
if (INTERSECTED) INTERSECTED.material.emissive.setHex(INTERSECTED.currentHex);
if (INTERSECTED) (INTERSECTED.material as THREE.MeshLambertMaterial).emissive.setHex(INTERSECTED_currentHex);
INTERSECTED = null;

View File

@@ -13,14 +13,14 @@
if (!Detector.webgl) Detector.addGetWebGLMessage();
var renderer, scene, camera, stats;
var pointclouds;
var raycaster;
var renderer: THREE.WebGLRenderer, scene: THREE.Scene, camera: THREE.PerspectiveCamera, stats: Stats;
var pointclouds: THREE.Points[];
var raycaster: THREE.Raycaster;
var mouse = new THREE.Vector2();
var intersection = null;
var spheres = [];
var intersection: THREE.Intersection | null = null;
var spheres: THREE.Mesh[] = [];
var spheresIndex = 0;
var clock;
var clock: THREE.Clock;
var threshold = 0.1;
var pointSize = 0.05;
@@ -31,7 +31,7 @@
init();
animate();
function generatePointCloudGeometry(color, width, length) {
function generatePointCloudGeometry(color: THREE.Color, width: number, length: number) {
var geometry = new THREE.BufferGeometry();
var numPoints = width * length;
@@ -74,7 +74,7 @@
}
function generatePointcloud(color, width, length) {
function generatePointcloud(color: THREE.Color, width: number, length: number) {
var geometry = generatePointCloudGeometry(color, width, length);
@@ -85,7 +85,7 @@
}
function generateIndexedPointcloud(color, width, length) {
function generateIndexedPointcloud(color: THREE.Color, width: number, length: number) {
var geometry = generatePointCloudGeometry(color, width, length);
var numPoints = width * length;
@@ -113,7 +113,7 @@
}
function generateIndexedWithOffsetPointcloud(color, width, length) {
function generateIndexedWithOffsetPointcloud(color: THREE.Color, width: number, length: number) {
var geometry = generatePointCloudGeometry(color, width, length);
var numPoints = width * length;
@@ -142,11 +142,11 @@
}
function generateRegularPointcloud(color, width, length) {
function generateRegularPointcloud(color: THREE.Color, width: number, length: number) {
var geometry = new THREE.Geometry();
var colors = [];
var colors: THREE.Color[] = [];
var k = 0;
@@ -160,15 +160,9 @@
var y = ( Math.cos(u * Math.PI * 8) + Math.sin(v * Math.PI * 8) ) / 20;
var z = v - 0.5;
var v2 = new THREE.Vector3(x, y, z);
var intensity = ( y + 0.1 ) * 7;
colors[3 * k] = color.r * intensity;
colors[3 * k + 1] = color.g * intensity;
colors[3 * k + 2] = color.b * intensity;
geometry.vertices.push(v2);
var intensity = ( y + 0.1 ) * 7;
colors[k] = ( color.clone().multiplyScalar(intensity) );
k++;
}
@@ -260,7 +254,7 @@
}
function onDocumentMouseMove(event) {
function onDocumentMouseMove(event: MouseEvent) {
event.preventDefault();
@@ -292,7 +286,7 @@
function render() {
camera.applyMatrix(rotateY);
camera.updateMatrixWorld();
camera.updateMatrixWorld(false);
raycaster.setFromCamera(mouse, camera);

View File

@@ -8,14 +8,12 @@
var controls: any;
// -------
var container, stats;
var container: HTMLDivElement, stats: Stats;
var camera, scene, renderer;
var camera: THREE.PerspectiveCamera, scene: THREE.Scene, renderer: THREE.WebGLRenderer;
var clock = new THREE.Clock();
var composer;
init();
animate();
@@ -37,9 +35,9 @@
controls.autoForward = false;
controls.dragToLook = false
// scene
// scene
scene = new THREE.Scene();
scene = new THREE.Scene();
scene.fog = new THREE.Fog(0x000000, 3500, 15000);
scene.fog.color.setHSL(0.51, 0.4, 0.01);
@@ -94,7 +92,7 @@
addLight(0.08, 0.8, 0.5, 0, 0, -1000);
addLight(0.995, 0.5, 0.9, 5000, 5000, -1000);
function addLight(h, s, l, x, y, z) {
function addLight(h: number, s: number, l: number, x: number, y: number, z: number) {
var light = new THREE.PointLight(0xffffff, 1.5, 4500);
light.color.setHSL(h, s, l);
@@ -148,10 +146,10 @@
//
function lensFlareUpdateCallback(object) {
function lensFlareUpdateCallback(object: THREE.LensFlare) {
var f, fl = object.lensFlares.length;
var flare;
var f: number, fl = object.lensFlares.length;
var flare: THREE.LensFlareProperty;
var vecX = -object.positionScreen.x * 2;
var vecY = -object.positionScreen.y * 2;
@@ -174,7 +172,7 @@
//
function onWindowResize(event) {
function onWindowResize(event: Event) {
renderer.setSize(window.innerWidth, window.innerHeight);

View File

@@ -10,9 +10,9 @@
if ( ! Detector.webgl ) Detector.addGetWebGLMessage();
var camera, scene, renderer, dirLight, hemiLight;
var mixers = [];
var stats;
var camera: THREE.PerspectiveCamera, scene: THREE.Scene, renderer: THREE.WebGLRenderer, dirLight: THREE.DirectionalLight, hemiLight: THREE.HemisphereLight;
var mixers: THREE.AnimationMixer[] = [];
var stats: Stats;
var clock = new THREE.Clock();
@@ -169,7 +169,7 @@
}
function onKeyDown ( event ) {
function onKeyDown ( event: KeyboardEvent ) {
switch ( event.keyCode ) {

View File

@@ -11,21 +11,21 @@
if (!Detector.webgl) Detector.addGetWebGLMessage();
var effectFXAA;
var effectFXAA: THREE.ShaderPass;
var mouseX = 0, mouseY = 0,
windowHalfX = window.innerWidth / 2,
windowHalfY = window.innerHeight / 2,
camera, scene, renderer, material, composer;
camera: THREE.PerspectiveCamera, scene: THREE.Scene, renderer: THREE.WebGLRenderer, material: THREE.LineBasicMaterial, composer: THREE.EffectComposer;
init();
animate();
function init() {
var i, container;
var i: number, container: HTMLDivElement;
container = document.createElement('div');
document.body.appendChild(container);
@@ -46,7 +46,9 @@
geometry2 = new THREE.Geometry(),
geometry3 = new THREE.Geometry(),
points = hilbert3D(new THREE.Vector3(0, 0, 0), 200.0, 2, 0, 1, 2, 3, 4, 5, 6, 7),
colors = [], colors2 = [], colors3 = [];
colors: THREE.Color[] = [],
colors2: THREE.Color[] = [],
colors3: THREE.Color[] = [];
for (i = 0; i < points.length; i++) {
@@ -73,7 +75,7 @@
material = new THREE.LineBasicMaterial({ color: 0xffffff, opacity: 1, linewidth: 3, vertexColors: THREE.VertexColors });
var line, scale = 0.3, d = 225;
var line: THREE.Line, scale = 0.3, d = 225;
var parameters : [THREE.LineBasicMaterial, number, [number, number, number], THREE.Geometry][] = [
[material, scale * 1.5, [-d, 0, 0], geometry],
[material, scale * 1.5, [0, 0, 0], geometry2],
@@ -146,14 +148,14 @@
//
function onDocumentMouseMove(event) {
function onDocumentMouseMove(event: MouseEvent) {
mouseX = event.clientX - windowHalfX;
mouseY = event.clientY - windowHalfY;
}
function onDocumentTouchStart(event) {
function onDocumentTouchStart(event: TouchEvent) {
if (event.touches.length > 1) {
@@ -166,7 +168,7 @@
}
function onDocumentTouchMove(event) {
function onDocumentTouchMove(event: TouchEvent) {
if (event.touches.length == 1) {

View File

@@ -10,16 +10,16 @@
if (!Detector.webgl) Detector.addGetWebGLMessage();
var container, stats;
var container: HTMLDivElement, stats: Stats;
var camera, scene, renderer, objects, controls;
var particleLight, pointLight;
var trunk;
var camera: THREE.PerspectiveCamera, scene: THREE.Scene, renderer: THREE.WebGLRenderer, controls: THREE.OrbitControls;
var pointLight: THREE.PointLight;
var trunk: THREE.Object3D;
var loader = new THREE.AWDLoader();
loader.materialFactory = createMaterial;
loader.load('./models/awd/simple/simple.awd', function (_trunk) {
loader.load('./models/awd/simple/simple.awd', function (_trunk: THREE.Object3D) {
trunk = _trunk;
@@ -29,15 +29,13 @@
});
function createMaterial(name) {
// console.log( name );
// var mat = new THREE.MeshPhongMaterial({
// color: 0xaaaaaa,
// shininess: 20
// });
// return mat;
return null;
function createMaterial(name: string) {
console.log( name );
var mat = new THREE.MeshPhongMaterial({
color: 0xaaaaaa,
shininess: 20
});
return mat;
}
@@ -106,7 +104,7 @@
pointLight.position.x = Math.sin(timer * 4) * 3000;
pointLight.position.y = 600
pointLight.position.z = Math.cos(timer * 4) * 3000;
pointLight.position.z = Math.cos(timer * 4) * 3000;
renderer.render(scene, camera);

View File

@@ -9,12 +9,16 @@
if (!Detector.webgl) Detector.addGetWebGLMessage();
var container, stats;
var container: HTMLDivElement, stats: Stats;
var camera, scene, renderer, objects;
var particleLight;
var materials = [];
var camera: THREE.PerspectiveCamera, scene: THREE.Scene, renderer: THREE.WebGLRenderer, objects: THREE.Mesh[];
var particleLight: THREE.Mesh;
var materials: ( THREE.MeshBasicMaterial |
THREE.MeshPhongMaterial |
THREE.MeshNormalMaterial |
THREE.MeshLambertMaterial |
THREE.MeshFaceMaterial |
THREE.MeshDepthMaterial ) [] = [];
init();
animate();
@@ -92,11 +96,11 @@
objects = [];
var sphere, geometry: THREE.Geometry, material;
var sphere: THREE.Mesh, geometry: THREE.Geometry;
for (var i = 0, l = materials.length; i < l; i++) {
material = materials[i];
let material = materials[i];
geometry = material instanceof THREE.MeshFaceMaterial ? geometry_pieces :
(material.shading == THREE.FlatShading ? geometry_flat : geometry_smooth);
@@ -224,8 +228,8 @@
}
materials[materials.length - 3].emissive.setHSL(0.54, 1, 0.35 * (0.5 + 0.5 * Math.sin(35 * timer)));
materials[materials.length - 4].emissive.setHSL(0.04, 1, 0.35 * (0.5 + 0.5 * Math.cos(35 * timer)));
(materials[materials.length - 3] as THREE.MeshPhongMaterial).emissive.setHSL(0.54, 1, 0.35 * (0.5 + 0.5 * Math.sin(35 * timer)));
(materials[materials.length - 4] as THREE.MeshLambertMaterial).emissive.setHSL(0.04, 1, 0.35 * (0.5 + 0.5 * Math.cos(35 * timer)));
particleLight.position.x = Math.sin(timer * 7) * 300;
particleLight.position.y = Math.cos(timer * 5) * 400;

View File

@@ -6,15 +6,13 @@
() => {
if (!Detector.webgl) Detector.addGetWebGLMessage();
var container, stats;
var container: HTMLDivElement;
var camera, scene, renderer;
var geometry, objects;
var camera: THREE.PerspectiveCamera, scene: THREE.Scene, renderer: THREE.WebGLRenderer;
var mouseX = 0, mouseY = 0;
var mesh;
var mesh: THREE.Mesh;
var windowHalfX = window.innerWidth / 2;
var windowHalfY = window.innerHeight / 2;
@@ -49,7 +47,7 @@
for (var i = 0; i < geometry.vertices.length; i++) {
var vertices = [];
var vertices: THREE.Vector3[] = [];
for (var v = 0; v < geometry.vertices.length; v++) {
@@ -100,7 +98,7 @@
}
function onDocumentMouseMove(event) {
function onDocumentMouseMove(event: MouseEvent) {
mouseX = (event.clientX - windowHalfX);
mouseY = (event.clientY - windowHalfY) * 2;

View File

@@ -6,8 +6,17 @@
() => {
if ( ! Detector.webgl ) Detector.addGetWebGLMessage();
var container, stats;
var camera, scene, renderer, particles, geometry, material, i, h, color, sprite, size;
var container: HTMLDivElement, stats: Stats;
var camera: THREE.PerspectiveCamera,
scene: THREE.Scene,
renderer: THREE.WebGLRenderer,
particles: THREE.Points,
geometry: THREE.Geometry,
material: THREE.PointsMaterial,
i: number,
h: number,
color: THREE.Color,
sprite: THREE.Texture;
var mouseX = 0, mouseY = 0;
var windowHalfX = window.innerWidth / 2;
@@ -86,14 +95,14 @@
}
function onDocumentMouseMove( event ) {
function onDocumentMouseMove( event: MouseEvent ) {
mouseX = event.clientX - windowHalfX;
mouseY = event.clientY - windowHalfY;
}
function onDocumentTouchStart( event ) {
function onDocumentTouchStart( event: TouchEvent ) {
if ( event.touches.length == 1 ) {
@@ -105,7 +114,7 @@
}
}
function onDocumentTouchMove( event ) {
function onDocumentTouchMove( event: TouchEvent ) {
if ( event.touches.length == 1 ) {

View File

@@ -4,8 +4,8 @@
// https://github.com/mrdoob/three.js/blob/master/examples/webgl_postprocessing.html
() => {
var camera, scene, renderer, composer;
var object, light;
var camera: THREE.PerspectiveCamera, scene: THREE.Scene, renderer: THREE.WebGLRenderer, composer: THREE.EffectComposer;
var object: THREE.Object3D, light: THREE.DirectionalLight;
init();
animate();

View File

@@ -6,11 +6,11 @@
() => {
if (!Detector.webgl) Detector.addGetWebGLMessage();
var container, stats;
var container: HTMLElement, stats: Stats;
var camera, scene, renderer;
var camera: THREE.Camera, scene: THREE.Scene, renderer: THREE.WebGLRenderer;
var uniforms;
var uniforms: { time: { type: string; value: number; }; resolution: { type: string; value: THREE.Vector2; }; };
init();
animate();

View File

@@ -8,14 +8,14 @@
var material: THREE.SpriteMaterial;
// -------
var camera, scene, renderer;
var cameraOrtho, sceneOrtho;
var camera: THREE.PerspectiveCamera, scene: THREE.Scene, renderer: THREE.WebGLRenderer;
var cameraOrtho: THREE.OrthographicCamera, sceneOrtho: THREE.Scene;
var spriteTL, spriteTR, spriteBL, spriteBR, spriteC;
var spriteTL: THREE.Sprite, spriteTR: THREE.Sprite, spriteBL: THREE.Sprite, spriteBR: THREE.Sprite, spriteC: THREE.Sprite;
var mapC;
var mapC: THREE.Texture;
var group;
var group: THREE.Group;
init();
animate();
@@ -96,7 +96,7 @@
}
function createHUDSprites ( texture ) {
function createHUDSprites ( texture: THREE.Texture ) {
var material = new THREE.SpriteMaterial( { map: texture } );
@@ -178,7 +178,7 @@
for ( var i = 0, l = group.children.length; i < l; i ++ ) {
var sprite = group.children[ i ];
var sprite = group.children[ i ] as THREE.Sprite;
var material = sprite.material;
var scale = Math.sin( time + sprite.position.x * 0.01 ) * 0.3 + 1.0;

View File

@@ -6,7 +6,7 @@
declare namespace THREE {
export interface SpriteCanvasMaterialParameters extends MaterialParameters {
color?: number;
program?: (context: any, color: Color) => void;
program?: (context: CanvasRenderingContext2D, color: Color) => void;
}
export class SpriteCanvasMaterial extends Material {
@@ -14,7 +14,7 @@ declare namespace THREE {
color: Color;
program(context: any, color: Color): void;
program(context: CanvasRenderingContext2D, color: Color): void;
}
export interface CanvasRendererParameters {

View File

@@ -5,7 +5,7 @@
"es6",
"dom"
],
"noImplicitAny": false,
"noImplicitAny": true,
"noImplicitThis": false,
"strictNullChecks": false,
"baseUrl": "../",