提交 f6d48fac 编写于 作者: M Mugen87

Clean up some more linter warnings

上级 65b0ee20
......@@ -479,6 +479,7 @@ Object.assign( AnimationAction.prototype, {
if ( loop === LoopOnce ) {
if ( loopCount === - 1 ) {
// just started
this._loopCount = 0;
......@@ -513,6 +514,7 @@ Object.assign( AnimationAction.prototype, {
var pingPong = ( loop === LoopPingPong );
if ( loopCount === - 1 ) {
// just started
if ( deltaTime >= 0 ) {
......@@ -534,6 +536,7 @@ Object.assign( AnimationAction.prototype, {
}
if ( time >= duration || time < 0 ) {
// wrap around
var loopDelta = Math.floor( time / duration ); // signed
......@@ -544,6 +547,7 @@ Object.assign( AnimationAction.prototype, {
var pending = this.repetitions - loopCount;
if ( pending < 0 ) {
// have to stop (switch state, clamp time, fire event)
if ( this.clampWhenFinished ) this.paused = true;
......@@ -553,13 +557,15 @@ Object.assign( AnimationAction.prototype, {
this._mixer.dispatchEvent( {
type: 'finished', action: this,
direction: deltaTime > 0 ? 1 : -1
direction: deltaTime > 0 ? 1 : - 1
} );
} else {
// keep running
if ( pending === 0 ) {
// entering the last round
var atStart = deltaTime < 0;
......@@ -582,6 +588,7 @@ Object.assign( AnimationAction.prototype, {
}
if ( pingPong && ( loopCount & 1 ) === 1 ) {
// invert time for the "pong round"
this.time = time;
......
......@@ -84,9 +84,9 @@ Object.assign( AnimationClip, {
var values = [];
times.push(
( i + numMorphTargets - 1 ) % numMorphTargets,
i,
( i + 1 ) % numMorphTargets );
( i + numMorphTargets - 1 ) % numMorphTargets,
i,
( i + 1 ) % numMorphTargets );
values.push( 0, 1, 0 );
......@@ -104,10 +104,10 @@ Object.assign( AnimationClip, {
}
tracks.push(
new NumberKeyframeTrack(
'.morphTargetInfluences[' + morphTargetSequence[ i ].name + ']',
times, values
).scale( 1.0 / fps ) );
new NumberKeyframeTrack(
'.morphTargetInfluences[' + morphTargetSequence[ i ].name + ']',
times, values
).scale( 1.0 / fps ) );
}
......@@ -281,16 +281,16 @@ Object.assign( AnimationClip, {
var boneName = '.bones[' + bones[ h ].name + ']';
addNonemptyTrack(
VectorKeyframeTrack, boneName + '.position',
animationKeys, 'pos', tracks );
VectorKeyframeTrack, boneName + '.position',
animationKeys, 'pos', tracks );
addNonemptyTrack(
QuaternionKeyframeTrack, boneName + '.quaternion',
animationKeys, 'rot', tracks );
QuaternionKeyframeTrack, boneName + '.quaternion',
animationKeys, 'rot', tracks );
addNonemptyTrack(
VectorKeyframeTrack, boneName + '.scale',
animationKeys, 'scl', tracks );
VectorKeyframeTrack, boneName + '.scale',
animationKeys, 'scl', tracks );
}
......
......@@ -193,16 +193,40 @@ Object.assign( AnimationMixer.prototype, EventDispatcher.prototype, {
this.stats = {
actions: {
get total() { return scope._actions.length; },
get inUse() { return scope._nActiveActions; }
get total() {
return scope._actions.length;
},
get inUse() {
return scope._nActiveActions;
}
},
bindings: {
get total() { return scope._bindings.length; },
get inUse() { return scope._nActiveBindings; }
get total() {
return scope._bindings.length;
},
get inUse() {
return scope._nActiveBindings;
}
},
controlInterpolants: {
get total() { return scope._controlInterpolants.length; },
get inUse() { return scope._nActiveControlInterpolants; }
get total() {
return scope._controlInterpolants.length;
},
get inUse() {
return scope._nActiveControlInterpolants;
}
}
};
......
......@@ -61,11 +61,22 @@ function AnimationObjectGroup( var_args ) {
this.stats = {
objects: {
get total() { return scope._objects.length; },
get inUse() { return this.total - scope.nCachedObjects_; }
get total() {
return scope._objects.length;
},
get inUse() {
return this.total - scope.nCachedObjects_;
}
},
get bindingsPerObject() {
return scope._bindings.length;
get bindingsPerObject() { return scope._bindings.length; }
}
};
......
......@@ -132,7 +132,7 @@ Object.assign( PropertyBinding, {
// contain any non-bracket characters.
var propertyRe = /\.([\w-]+)(?:\[(.+)\])?/;
var trackRe = new RegExp(''
var trackRe = new RegExp( ''
+ '^'
+ directoryRe.source
+ nodeRe.source
......@@ -145,51 +145,51 @@ Object.assign( PropertyBinding, {
return function ( trackName ) {
var matches = trackRe.exec( trackName );
var matches = trackRe.exec( trackName );
if ( ! matches ) {
if ( ! matches ) {
throw new Error( 'PropertyBinding: Cannot parse trackName: ' + trackName );
throw new Error( 'PropertyBinding: Cannot parse trackName: ' + trackName );
}
var results = {
// directoryName: matches[ 1 ], // (tschw) currently unused
nodeName: matches[ 2 ],
objectName: matches[ 3 ],
objectIndex: matches[ 4 ],
propertyName: matches[ 5 ], // required
propertyIndex: matches[ 6 ]
};
}
var lastDot = results.nodeName && results.nodeName.lastIndexOf( '.' );
var results = {
// directoryName: matches[ 1 ], // (tschw) currently unused
nodeName: matches[ 2 ],
objectName: matches[ 3 ],
objectIndex: matches[ 4 ],
propertyName: matches[ 5 ], // required
propertyIndex: matches[ 6 ]
};
if ( lastDot !== undefined && lastDot !== -1 ) {
var lastDot = results.nodeName && results.nodeName.lastIndexOf( '.' );
var objectName = results.nodeName.substring( lastDot + 1 );
if ( lastDot !== undefined && lastDot !== - 1 ) {
// Object names must be checked against a whitelist. Otherwise, there
// is no way to parse 'foo.bar.baz': 'baz' must be a property, but
// 'bar' could be the objectName, or part of a nodeName (which can
// include '.' characters).
if ( supportedObjectNames.indexOf( objectName ) !== -1 ) {
var objectName = results.nodeName.substring( lastDot + 1 );
results.nodeName = results.nodeName.substring( 0, lastDot );
results.objectName = objectName;
// Object names must be checked against a whitelist. Otherwise, there
// is no way to parse 'foo.bar.baz': 'baz' must be a property, but
// 'bar' could be the objectName, or part of a nodeName (which can
// include '.' characters).
if ( supportedObjectNames.indexOf( objectName ) !== - 1 ) {
}
results.nodeName = results.nodeName.substring( 0, lastDot );
results.objectName = objectName;
}
if ( results.propertyName === null || results.propertyName.length === 0 ) {
}
throw new Error( 'PropertyBinding: can not parse propertyName from trackName: ' + trackName );
if ( results.propertyName === null || results.propertyName.length === 0 ) {
}
throw new Error( 'PropertyBinding: can not parse propertyName from trackName: ' + trackName );
return results;
}
};
return results;
};
}(),
......@@ -479,8 +479,7 @@ Object.assign( PropertyBinding.prototype, { // prototype, continued
if ( ! targetObject ) {
targetObject = PropertyBinding.findNode(
this.rootNode, parsedPath.nodeName ) || this.rootNode;
targetObject = PropertyBinding.findNode( this.rootNode, parsedPath.nodeName ) || this.rootNode;
this.node = targetObject;
......
......@@ -18,8 +18,7 @@ function BooleanKeyframeTrack( name, times, values ) {
}
BooleanKeyframeTrack.prototype =
Object.assign( Object.create( KeyframeTrackPrototype ), {
BooleanKeyframeTrack.prototype = Object.assign( Object.create( KeyframeTrackPrototype ), {
constructor: BooleanKeyframeTrack,
......
......@@ -17,8 +17,7 @@ function ColorKeyframeTrack( name, times, values, interpolation ) {
}
ColorKeyframeTrack.prototype =
Object.assign( Object.create( KeyframeTrackPrototype ), {
ColorKeyframeTrack.prototype = Object.assign( Object.create( KeyframeTrackPrototype ), {
constructor: ColorKeyframeTrack,
......
......@@ -16,8 +16,7 @@ function NumberKeyframeTrack( name, times, values, interpolation ) {
}
NumberKeyframeTrack.prototype =
Object.assign( Object.create( KeyframeTrackPrototype ), {
NumberKeyframeTrack.prototype = Object.assign( Object.create( KeyframeTrackPrototype ), {
constructor: NumberKeyframeTrack,
......
......@@ -18,8 +18,7 @@ function QuaternionKeyframeTrack( name, times, values, interpolation ) {
}
QuaternionKeyframeTrack.prototype =
Object.assign( Object.create( KeyframeTrackPrototype ), {
QuaternionKeyframeTrack.prototype = Object.assign( Object.create( KeyframeTrackPrototype ), {
constructor: QuaternionKeyframeTrack,
......@@ -29,10 +28,9 @@ QuaternionKeyframeTrack.prototype =
DefaultInterpolation: InterpolateLinear,
InterpolantFactoryMethodLinear: function( result ) {
InterpolantFactoryMethodLinear: function ( result ) {
return new QuaternionLinearInterpolant(
this.times, this.values, this.getValueSize(), result );
return new QuaternionLinearInterpolant( this.times, this.values, this.getValueSize(), result );
},
......
......@@ -18,8 +18,7 @@ function StringKeyframeTrack( name, times, values, interpolation ) {
}
StringKeyframeTrack.prototype =
Object.assign( Object.create( KeyframeTrackPrototype ), {
StringKeyframeTrack.prototype = Object.assign( Object.create( KeyframeTrackPrototype ), {
constructor: StringKeyframeTrack,
......
......@@ -17,8 +17,7 @@ function VectorKeyframeTrack( name, times, values, interpolation ) {
}
VectorKeyframeTrack.prototype =
Object.assign( Object.create( KeyframeTrackPrototype ), {
VectorKeyframeTrack.prototype = Object.assign( Object.create( KeyframeTrackPrototype ), {
constructor: VectorKeyframeTrack,
......
......@@ -20,7 +20,12 @@ import { _Math } from '../math/Math.js';
*/
var count = 0;
function GeometryIdCount() { return count++; }
function GeometryIdCount() {
return count ++;
}
function Geometry() {
......
......@@ -25,8 +25,10 @@ function Raycaster( origin, direction, near, far ) {
Object.defineProperties( this.params, {
PointCloud: {
get: function () {
console.warn( 'THREE.Raycaster: params.PointCloud has been renamed to params.Points.' );
return this.Points;
}
}
} );
......
......@@ -58,9 +58,9 @@ var ShapeUtils = {
var apx, apy, bpx, bpy, cpx, cpy;
var cCROSSap, bCROSScp, aCROSSbp;
aX = cx - bx; aY = cy - by;
bX = ax - cx; bY = ay - cy;
cX = bx - ax; cY = by - ay;
aX = cx - bx; aY = cy - by;
bX = ax - cx; bY = ay - cy;
cX = bx - ax; cY = by - ay;
for ( p = 0; p < n; p ++ ) {
......@@ -71,9 +71,9 @@ var ShapeUtils = {
( ( px === bx ) && ( py === by ) ) ||
( ( px === cx ) && ( py === cy ) ) ) continue;
apx = px - ax; apy = py - ay;
bpx = px - bx; bpy = py - by;
cpx = px - cx; cpy = py - cy;
apx = px - ax; apy = py - ay;
bpx = px - bx; bpy = py - by;
cpx = px - cx; cpy = py - cy;
// see if p is inside triangle abc
......@@ -119,7 +119,7 @@ var ShapeUtils = {
/* remove nv - 2 vertices, creating 1 triangle every time */
var count = 2 * nv; /* error detection */
var count = 2 * nv; /* error detection */
for ( v = nv - 1; nv > 2; ) {
......@@ -141,9 +141,9 @@ var ShapeUtils = {
/* three consecutive vertices in current polygon, <u,v,w> */
u = v; if ( nv <= u ) u = 0; /* previous */
v = u + 1; if ( nv <= v ) v = 0; /* new v */
w = v + 1; if ( nv <= w ) w = 0; /* next */
u = v; if ( nv <= u ) u = 0; /* previous */
v = u + 1; if ( nv <= v ) v = 0; /* new v */
w = v + 1; if ( nv <= w ) w = 0; /* next */
if ( snip( contour, u, v, w, nv, verts ) ) {
......@@ -191,7 +191,7 @@ var ShapeUtils = {
triangulateShape: function ( contour, holes ) {
function removeDupEndPts(points) {
function removeDupEndPts( points ) {
var l = points.length;
......@@ -239,8 +239,8 @@ var ShapeUtils = {
function intersect_segments_2D( inSeg1Pt1, inSeg1Pt2, inSeg2Pt1, inSeg2Pt2, inExcludeAdjacentSegs ) {
var seg1dx = inSeg1Pt2.x - inSeg1Pt1.x, seg1dy = inSeg1Pt2.y - inSeg1Pt1.y;
var seg2dx = inSeg2Pt2.x - inSeg2Pt1.x, seg2dy = inSeg2Pt2.y - inSeg2Pt1.y;
var seg1dx = inSeg1Pt2.x - inSeg1Pt1.x, seg1dy = inSeg1Pt2.y - inSeg1Pt1.y;
var seg2dx = inSeg2Pt2.x - inSeg2Pt1.x, seg2dy = inSeg2Pt2.y - inSeg2Pt1.y;
var seg1seg2dx = inSeg1Pt1.x - inSeg2Pt1.x;
var seg1seg2dy = inSeg1Pt1.y - inSeg2Pt1.y;
......@@ -289,8 +289,7 @@ var ShapeUtils = {
// return real intersection point
var factorSeg1 = perpSeg2 / limit;
return [ { x: inSeg1Pt1.x + factorSeg1 * seg1dx,
y: inSeg1Pt1.y + factorSeg1 * seg1dy } ];
return [ { x: inSeg1Pt1.x + factorSeg1 * seg1dx, y: inSeg1Pt1.y + factorSeg1 * seg1dy } ];
} else {
......@@ -382,7 +381,7 @@ var ShapeUtils = {
}
if ( seg1minVal <= seg2minVal ) {
if ( seg1maxVal < seg2minVal ) return [];
if ( seg1maxVal < seg2minVal ) return [];
if ( seg1maxVal === seg2minVal ) {
if ( inExcludeAdjacentSegs ) return [];
......@@ -394,7 +393,7 @@ var ShapeUtils = {
} else {
if ( seg1minVal > seg2maxVal ) return [];
if ( seg1minVal > seg2maxVal ) return [];
if ( seg1minVal === seg2maxVal ) {
if ( inExcludeAdjacentSegs ) return [];
......@@ -415,9 +414,9 @@ var ShapeUtils = {
// The order of legs is important
// translation of all points, so that Vertex is at (0,0)
var legFromPtX = inLegFromPt.x - inVertex.x, legFromPtY = inLegFromPt.y - inVertex.y;
var legToPtX = inLegToPt.x - inVertex.x, legToPtY = inLegToPt.y - inVertex.y;
var otherPtX = inOtherPt.x - inVertex.x, otherPtY = inOtherPt.y - inVertex.y;
var legFromPtX = inLegFromPt.x - inVertex.x, legFromPtY = inLegFromPt.y - inVertex.y;
var legToPtX = inLegToPt.x - inVertex.x, legToPtY = inLegToPt.y - inVertex.y;
var otherPtX = inOtherPt.x - inVertex.x, otherPtY = inOtherPt.y - inVertex.y;
// main angle >0: < 180 deg.; 0: 180 deg.; <0: > 180 deg.
var from2toAngle = legFromPtX * legToPtY - legFromPtY * legToPtX;
......
......@@ -170,14 +170,14 @@ CurvePath.prototype = Object.assign( Object.create( Curve.prototype ), {
for ( var i = 0, curves = this.curves; i < curves.length; i ++ ) {
var curve = curves[ i ];
var resolution = (curve && curve.isEllipseCurve) ? divisions * 2
: (curve && curve.isLineCurve) ? 1
: (curve && curve.isSplineCurve) ? divisions * curve.points.length
: divisions;
var resolution = ( curve && curve.isEllipseCurve ) ? divisions * 2
: ( curve && curve.isLineCurve ) ? 1
: ( curve && curve.isSplineCurve ) ? divisions * curve.points.length
: divisions;
var pts = curve.getPoints( resolution );
for ( var j = 0; j < pts.length; j++ ) {
for ( var j = 0; j < pts.length; j ++ ) {
var point = pts[ j ];
......@@ -190,7 +190,7 @@ CurvePath.prototype = Object.assign( Object.create( Curve.prototype ), {
}
if ( this.autoClose && points.length > 1 && !points[ points.length - 1 ].equals( points[ 0 ] ) ) {
if ( this.autoClose && points.length > 1 && ! points[ points.length - 1 ].equals( points[ 0 ] ) ) {
points.push( points[ 0 ] );
......
......@@ -93,8 +93,8 @@ Object.assign( Font.prototype, {
case 'q': // quadraticCurveTo
cpx = outline[ i ++ ] * scale + offsetX;
cpy = outline[ i ++ ] * scale + offsetY;
cpx = outline[ i ++ ] * scale + offsetX;
cpy = outline[ i ++ ] * scale + offsetY;
cpx1 = outline[ i ++ ] * scale + offsetX;
cpy1 = outline[ i ++ ] * scale + offsetY;
......@@ -121,8 +121,8 @@ Object.assign( Font.prototype, {
case 'b': // bezierCurveTo
cpx = outline[ i ++ ] * scale + offsetX;
cpy = outline[ i ++ ] * scale + offsetY;
cpx = outline[ i ++ ] * scale + offsetX;
cpy = outline[ i ++ ] * scale + offsetY;
cpx1 = outline[ i ++ ] * scale + offsetX;
cpy1 = outline[ i ++ ] * scale + offsetY;
cpx2 = outline[ i ++ ] * scale + offsetX;
......
......@@ -80,7 +80,7 @@ Object.assign( ShapePath.prototype, {
var inside = false;
for ( var p = polyLen - 1, q = 0; q < polyLen; p = q ++ ) {
var edgeLowPt = inPolygon[ p ];
var edgeLowPt = inPolygon[ p ];
var edgeHighPt = inPolygon[ q ];
var edgeDx = edgeHighPt.x - edgeLowPt.x;
......@@ -91,7 +91,7 @@ Object.assign( ShapePath.prototype, {
// not parallel
if ( edgeDy < 0 ) {
edgeLowPt = inPolygon[ q ]; edgeDx = - edgeDx;
edgeLowPt = inPolygon[ q ]; edgeDx = - edgeDx;
edgeHighPt = inPolygon[ p ]; edgeDy = - edgeDy;
}
......
......@@ -15,15 +15,18 @@ function PointLight( color, intensity, distance, decay ) {
Object.defineProperty( this, 'power', {
get: function () {
// intensity = power per solid angle.
// ref: equation (15) from http://www.frostbite.com/wp-content/uploads/2014/11/course_notes_moving_frostbite_to_pbr.pdf
return this.intensity * 4 * Math.PI;
},
set: function ( power ) {
// intensity = power per solid angle.
// ref: equation (15) from http://www.frostbite.com/wp-content/uploads/2014/11/course_notes_moving_frostbite_to_pbr.pdf
this.intensity = power / ( 4 * Math.PI );
}
} );
......
......@@ -19,14 +19,18 @@ function SpotLight( color, intensity, distance, angle, penumbra, decay ) {
Object.defineProperty( this, 'power', {
get: function () {
// intensity = power per solid angle.
// ref: equation (17) from http://www.frostbite.com/wp-content/uploads/2014/11/course_notes_moving_frostbite_to_pbr.pdf
return this.intensity * Math.PI;
},
set: function ( power ) {
// intensity = power per solid angle.
// ref: equation (17) from http://www.frostbite.com/wp-content/uploads/2014/11/course_notes_moving_frostbite_to_pbr.pdf
this.intensity = power / Math.PI;
}
} );
......
......@@ -88,7 +88,7 @@ Object.assign( CompressedTextureLoader.prototype, {
for ( var f = 0; f < faces; f ++ ) {
images[ f ] = { mipmaps : [] };
images[ f ] = { mipmaps: [] };
for ( var i = 0; i < texDatas.mipmapCount; i ++ ) {
......
......@@ -64,7 +64,6 @@ Object.assign( FileLoader.prototype, {
case 'arraybuffer':
case 'blob':
var view = new Uint8Array( data.length );
for ( var i = 0; i < data.length; i ++ ) {
......@@ -78,9 +77,10 @@ Object.assign( FileLoader.prototype, {
response = new Blob( [ view.buffer ], { type: mimeType } );
} else {
response = view.buffer;
}
response = view.buffer;
}
break;
......
......@@ -457,7 +457,7 @@ Object.assign( ObjectLoader.prototype, {
function parseConstant( value, type ) {
if ( typeof( value ) === 'number' ) return value;
if ( typeof value === 'number' ) return value;
console.warn( 'THREE.ObjectLoader.parseTexture: Constant should be in numeric form.', value );
......@@ -769,7 +769,7 @@ Object.assign( ObjectLoader.prototype, {
var children = data.children;
for ( var i = 0; i < children.length; i ++ ) {
for ( var i = 0; i < children.length; i ++ ) {
object.add( this.parseObject( children[ i ], geometries, materials ) );
......
......@@ -49,13 +49,14 @@ Object.assign( Interpolant.prototype, {
var right;
linear_scan: {
//- See http://jsperf.com/comparison-to-undefined/3
//- slower code:
//-
//- if ( t >= t1 || t1 === undefined ) {
forward_scan: if ( ! ( t < t1 ) ) {
for ( var giveUpAt = i1 + 2; ;) {
for ( var giveUpAt = i1 + 2; ; ) {
if ( t1 === undefined ) {
......@@ -106,7 +107,7 @@ Object.assign( Interpolant.prototype, {
// linear reverse scan
for ( var giveUpAt = i1 - 2; ;) {
for ( var giveUpAt = i1 - 2; ; ) {
if ( t0 === undefined ) {
......@@ -230,7 +231,7 @@ Object.assign( Interpolant.prototype, {
interpolate_: function ( i1, t0, t, t1 ) {
throw new Error( "call to abstract method" );
throw new Error( 'call to abstract method' );
// implementations shall return this.resultBuffer
},
......
......@@ -14,13 +14,12 @@ import { WrapAroundEnding, ZeroSlopeEnding } from '../../constants.js';
function CubicInterpolant( parameterPositions, sampleValues, sampleSize, resultBuffer ) {
Interpolant.call(
this, parameterPositions, sampleValues, sampleSize, resultBuffer );
Interpolant.call( this, parameterPositions, sampleValues, sampleSize, resultBuffer );
this._weightPrev = -0;
this._offsetPrev = -0;
this._weightNext = -0;
this._offsetNext = -0;
this._weightPrev = - 0;
this._offsetPrev = - 0;
this._weightNext = - 0;
this._offsetNext = - 0;
}
......@@ -30,12 +29,12 @@ CubicInterpolant.prototype = Object.assign( Object.create( Interpolant.prototype
DefaultSettings_: {
endingStart: ZeroCurvatureEnding,
endingEnd: ZeroCurvatureEnding
endingStart: ZeroCurvatureEnding,
endingEnd: ZeroCurvatureEnding
},
intervalChanged_: function( i1, t0, t1 ) {
intervalChanged_: function ( i1, t0, t1 ) {
var pp = this.parameterPositions,
iPrev = i1 - 2,
......@@ -114,7 +113,7 @@ CubicInterpolant.prototype = Object.assign( Object.create( Interpolant.prototype
},
interpolate_: function( i1, t0, t, t1 ) {
interpolate_: function ( i1, t0, t, t1 ) {
var result = this.resultBuffer,
values = this.sampleValues,
......@@ -130,10 +129,10 @@ CubicInterpolant.prototype = Object.assign( Object.create( Interpolant.prototype
// evaluate polynomials
var sP = - wP * ppp + 2 * wP * pp - wP * p;
var s0 = ( 1 + wP ) * ppp + (-1.5 - 2 * wP ) * pp + ( -0.5 + wP ) * p + 1;
var s1 = (-1 - wN ) * ppp + ( 1.5 + wN ) * pp + 0.5 * p;
var sN = wN * ppp - wN * pp;
var sP = - wP * ppp + 2 * wP * pp - wP * p;
var s0 = ( 1 + wP ) * ppp + ( - 1.5 - 2 * wP ) * pp + ( - 0.5 + wP ) * p + 1;
var s1 = ( - 1 - wN ) * ppp + ( 1.5 + wN ) * pp + 0.5 * p;
var sN = wN * ppp - wN * pp;
// combine data linearly
......
......@@ -18,7 +18,7 @@ DiscreteInterpolant.prototype = Object.assign( Object.create( Interpolant.protot
constructor: DiscreteInterpolant,
interpolate_: function( i1, t0, t, t1 ) {
interpolate_: function ( i1, t0, t, t1 ) {
return this.copySampleValue_( i1 - 1 );
......
......@@ -14,7 +14,7 @@ LinearInterpolant.prototype = Object.assign( Object.create( Interpolant.prototyp
constructor: LinearInterpolant,
interpolate_: function( i1, t0, t, t1 ) {
interpolate_: function ( i1, t0, t, t1 ) {
var result = this.resultBuffer,
values = this.sampleValues,
......
......@@ -17,7 +17,7 @@ QuaternionLinearInterpolant.prototype = Object.assign( Object.create( Interpolan
constructor: QuaternionLinearInterpolant,
interpolate_: function( i1, t0, t, t1 ) {
interpolate_: function ( i1, t0, t, t1 ) {
var result = this.resultBuffer,
values = this.sampleValues,
......@@ -29,8 +29,7 @@ QuaternionLinearInterpolant.prototype = Object.assign( Object.create( Interpolan
for ( var end = offset + stride; offset !== end; offset += 4 ) {
Quaternion.slerpFlat( result, 0,
values, offset - stride, values, offset, alpha );
Quaternion.slerpFlat( result, 0, values, offset - stride, values, offset, alpha );
}
......
import { Vector4 } from '../../math/Vector4.js';
import { Color } from '../../math/Color.js';
import { Vector2 } from '../../math/Vector2.js';
import { Matrix3 } from '../../math/Matrix3.js';
import { DataTexture } from '../../textures/DataTexture.js';
/**
* Uniforms library for shared webgl shaders
......
......@@ -58,12 +58,12 @@ function WebGLClipping() {
this.setState = function ( planes, clipIntersection, clipShadows, camera, cache, fromCache ) {
if ( ! localClippingEnabled ||
planes === null || planes.length === 0 ||
renderingShadows && ! clipShadows ) {
if ( ! localClippingEnabled || planes === null || planes.length === 0 || renderingShadows && ! clipShadows ) {
// there's no local clipping
if ( renderingShadows ) {
// there's no global clipping
projectPlanes( null );
......
......@@ -17,10 +17,10 @@ function WebGLFlareRenderer( renderer, gl, state, textures, capabilities ) {
function init() {
var vertices = new Float32Array( [
- 1, - 1, 0, 0,
1, - 1, 1, 0,
1, 1, 1, 1,
- 1, 1, 0, 1
- 1, - 1, 0, 0,
1, - 1, 1, 0,
1, 1, 1, 1,
- 1, 1, 0, 1
] );
var faces = new Uint16Array( [
......@@ -30,8 +30,8 @@ function WebGLFlareRenderer( renderer, gl, state, textures, capabilities ) {
// buffers
vertexBuffer = gl.createBuffer();
elementBuffer = gl.createBuffer();
vertexBuffer = gl.createBuffer();
elementBuffer = gl.createBuffer();
gl.bindBuffer( gl.ARRAY_BUFFER, vertexBuffer );
gl.bufferData( gl.ARRAY_BUFFER, vertices, gl.STATIC_DRAW );
......@@ -41,7 +41,7 @@ function WebGLFlareRenderer( renderer, gl, state, textures, capabilities ) {
// textures
tempTexture = gl.createTexture();
tempTexture = gl.createTexture();
occlusionTexture = gl.createTexture();
state.bindTexture( gl.TEXTURE_2D, tempTexture );
......@@ -155,18 +155,18 @@ function WebGLFlareRenderer( renderer, gl, state, textures, capabilities ) {
program = createProgram( shader );
attributes = {
vertex: gl.getAttribLocation ( program, "position" ),
uv: gl.getAttribLocation ( program, "uv" )
vertex: gl.getAttribLocation( program, "position" ),
uv: gl.getAttribLocation( program, "uv" )
};
uniforms = {
renderType: gl.getUniformLocation( program, "renderType" ),
map: gl.getUniformLocation( program, "map" ),
occlusionMap: gl.getUniformLocation( program, "occlusionMap" ),
opacity: gl.getUniformLocation( program, "opacity" ),
color: gl.getUniformLocation( program, "color" ),
scale: gl.getUniformLocation( program, "scale" ),
rotation: gl.getUniformLocation( program, "rotation" ),
renderType: gl.getUniformLocation( program, "renderType" ),
map: gl.getUniformLocation( program, "map" ),
occlusionMap: gl.getUniformLocation( program, "occlusionMap" ),
opacity: gl.getUniformLocation( program, "opacity" ),
color: gl.getUniformLocation( program, "color" ),
scale: gl.getUniformLocation( program, "scale" ),
rotation: gl.getUniformLocation( program, "rotation" ),
screenPosition: gl.getUniformLocation( program, "screenPosition" )
};
......
......@@ -241,8 +241,8 @@ function WebGLLights() {
matrix4.premultiply( viewMatrix );
matrix42.extractRotation( matrix4 );
uniforms.halfWidth.set( light.width * 0.5, 0.0, 0.0 );
uniforms.halfHeight.set( 0.0, light.height * 0.5, 0.0 );
uniforms.halfWidth.set( light.width * 0.5, 0.0, 0.0 );
uniforms.halfHeight.set( 0.0, light.height * 0.5, 0.0 );
uniforms.halfWidth.applyMatrix4( matrix42 );
uniforms.halfHeight.applyMatrix4( matrix42 );
......
......@@ -112,7 +112,7 @@ function generateDefines( defines ) {
}
function fetchAttributeLocations( gl, program, identifiers ) {
function fetchAttributeLocations( gl, program ) {
var attributes = {};
......@@ -123,7 +123,7 @@ function fetchAttributeLocations( gl, program, identifiers ) {
var info = gl.getActiveAttrib( program, i );
var name = info.name;
// console.log("THREE.WebGLProgram: ACTIVE VERTEX ATTRIBUTE:", name, i );
// console.log( 'THREE.WebGLProgram: ACTIVE VERTEX ATTRIBUTE:', name, i );
attributes[ name ] = gl.getAttribLocation( program, name );
......@@ -473,7 +473,7 @@ function WebGLProgram( renderer, extensions, code, material, shader, parameters
'uniform vec3 cameraPosition;',
( parameters.toneMapping !== NoToneMapping ) ? "#define TONE_MAPPING" : '',
( parameters.toneMapping !== NoToneMapping ) ? ShaderChunk[ 'tonemapping_pars_fragment' ] : '', // this code is required here because it is used by the toneMapping() function defined below
( parameters.toneMapping !== NoToneMapping ) ? ShaderChunk[ 'tonemapping_pars_fragment' ] : '', // this code is required here because it is used by the toneMapping() function defined below
( parameters.toneMapping !== NoToneMapping ) ? getToneMappingFunction( "toneMapping", parameters.toneMapping ) : '',
parameters.dithering ? '#define DITHERING' : '',
......
......@@ -23,10 +23,10 @@ function WebGLSpriteRenderer( renderer, gl, state, textures, capabilities ) {
function init() {
var vertices = new Float32Array( [
- 0.5, - 0.5, 0, 0,
0.5, - 0.5, 1, 0,
0.5, 0.5, 1, 1,
- 0.5, 0.5, 0, 1
- 0.5, - 0.5, 0, 0,
0.5, - 0.5, 1, 0,
0.5, 0.5, 1, 1,
- 0.5, 0.5, 0, 1
] );
var faces = new Uint16Array( [
......@@ -34,7 +34,7 @@ function WebGLSpriteRenderer( renderer, gl, state, textures, capabilities ) {
0, 2, 3
] );
vertexBuffer = gl.createBuffer();
vertexBuffer = gl.createBuffer();
elementBuffer = gl.createBuffer();
gl.bindBuffer( gl.ARRAY_BUFFER, vertexBuffer );
......@@ -46,32 +46,32 @@ function WebGLSpriteRenderer( renderer, gl, state, textures, capabilities ) {
program = createProgram();
attributes = {
position: gl.getAttribLocation ( program, 'position' ),
uv: gl.getAttribLocation ( program, 'uv' )
position: gl.getAttribLocation( program, 'position' ),
uv: gl.getAttribLocation( program, 'uv' )
};
uniforms = {
uvOffset: gl.getUniformLocation( program, 'uvOffset' ),
uvScale: gl.getUniformLocation( program, 'uvScale' ),
uvOffset: gl.getUniformLocation( program, 'uvOffset' ),
uvScale: gl.getUniformLocation( program, 'uvScale' ),
rotation: gl.getUniformLocation( program, 'rotation' ),
scale: gl.getUniformLocation( program, 'scale' ),
rotation: gl.getUniformLocation( program, 'rotation' ),
scale: gl.getUniformLocation( program, 'scale' ),
color: gl.getUniformLocation( program, 'color' ),
map: gl.getUniformLocation( program, 'map' ),
opacity: gl.getUniformLocation( program, 'opacity' ),
color: gl.getUniformLocation( program, 'color' ),
map: gl.getUniformLocation( program, 'map' ),
opacity: gl.getUniformLocation( program, 'opacity' ),
modelViewMatrix: gl.getUniformLocation( program, 'modelViewMatrix' ),
modelViewMatrix: gl.getUniformLocation( program, 'modelViewMatrix' ),
projectionMatrix: gl.getUniformLocation( program, 'projectionMatrix' ),
fogType: gl.getUniformLocation( program, 'fogType' ),
fogDensity: gl.getUniformLocation( program, 'fogDensity' ),
fogNear: gl.getUniformLocation( program, 'fogNear' ),
fogFar: gl.getUniformLocation( program, 'fogFar' ),
fogColor: gl.getUniformLocation( program, 'fogColor' ),
fogDepth: gl.getUniformLocation( program, 'fogDepth' ),
fogType: gl.getUniformLocation( program, 'fogType' ),
fogDensity: gl.getUniformLocation( program, 'fogDensity' ),
fogNear: gl.getUniformLocation( program, 'fogNear' ),
fogFar: gl.getUniformLocation( program, 'fogFar' ),
fogColor: gl.getUniformLocation( program, 'fogColor' ),
fogDepth: gl.getUniformLocation( program, 'fogDepth' ),
alphaTest: gl.getUniformLocation( program, 'alphaTest' )
alphaTest: gl.getUniformLocation( program, 'alphaTest' )
};
var canvas = document.createElementNS( 'http://www.w3.org/1999/xhtml', 'canvas' );
......
......@@ -138,33 +138,63 @@ function allocTexUnits( renderer, n ) {
// Single scalar
function setValue1f( gl, v ) { gl.uniform1f( this.addr, v ) }
function setValue1i( gl, v ) { gl.uniform1i( this.addr, v ) }
function setValue1f( gl, v ) {
gl.uniform1f( this.addr, v );
}
function setValue1i( gl, v ) {
gl.uniform1i( this.addr, v );
}
// Single float vector (from flat array or THREE.VectorN)
function setValue2fv( gl, v ) {
if ( v.x === undefined ) gl.uniform2fv( this.addr, v );
else gl.uniform2f( this.addr, v.x, v.y );
if ( v.x === undefined ) {
gl.uniform2fv( this.addr, v );
} else {
gl.uniform2f( this.addr, v.x, v.y );
}
}
function setValue3fv( gl, v ) {
if ( v.x !== undefined )
if ( v.x !== undefined ) {
gl.uniform3f( this.addr, v.x, v.y, v.z );
else if ( v.r !== undefined )
} else if ( v.r !== undefined ) {
gl.uniform3f( this.addr, v.r, v.g, v.b );
else
} else {
gl.uniform3fv( this.addr, v );
}
}
function setValue4fv( gl, v ) {
if ( v.x === undefined ) gl.uniform4fv( this.addr, v );
else gl.uniform4f( this.addr, v.x, v.y, v.z, v.w );
if ( v.x === undefined ) {
gl.uniform4fv( this.addr, v );
} else {
gl.uniform4f( this.addr, v.x, v.y, v.z, v.w );
}
}
......@@ -226,9 +256,23 @@ function setValueT6( gl, v, renderer ) {
// Integer / Boolean vectors or arrays thereof (always flat arrays)
function setValue2iv( gl, v ) { gl.uniform2iv( this.addr, v ) }
function setValue3iv( gl, v ) { gl.uniform3iv( this.addr, v ) }
function setValue4iv( gl, v ) { gl.uniform4iv( this.addr, v ) }
function setValue2iv( gl, v ) {
gl.uniform2iv( this.addr, v );
}
function setValue3iv( gl, v ) {
gl.uniform3iv( this.addr, v );
}
function setValue4iv( gl, v ) {
gl.uniform4iv( this.addr, v );
}
// Helper to pick the right setter for the singular case
......@@ -259,8 +303,16 @@ function getSingularSetter( type ) {
// Array of scalars
function setValue1fv( gl, v ) { gl.uniform1fv( this.addr, v ) }
function setValue1iv( gl, v ) { gl.uniform1iv( this.addr, v ) }
function setValue1fv( gl, v ) {
gl.uniform1fv( this.addr, v );
}
function setValue1iv( gl, v ) {
gl.uniform1iv( this.addr, v );
}
// Array of vectors (flat or from THREE classes)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册