提交 ac34b11a 编写于 作者: M Mr.doob

Updated builds.

上级 d2d91d29
......@@ -325,19 +325,27 @@
// http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/21963136#21963136
var lut = []; for (var i=0; i<256; i++) { lut[i] = (i<16?'0':'')+(i).toString(16).toUpperCase(); }
var lut = [];
for ( var i = 0; i < 256; i ++ ) {
lut[ i ] = ( i < 16 ? '0' : '' ) + ( i ).toString( 16 ).toUpperCase();
return function () {
var d0 = Math.random()*0xffffffff|0;
var d1 = Math.random()*0xffffffff|0;
var d2 = Math.random()*0xffffffff|0;
var d3 = Math.random()*0xffffffff|0;
return lut[d0&0xff]+lut[d0>>8&0xff]+lut[d0>>16&0xff]+lut[d0>>24&0xff]+'-'+
lut[d1&0xff]+lut[d1>>8&0xff]+'-'+lut[d1>>16&0x0f|0x40]+lut[d1>>24&0xff]+'-'+
lut[d2&0x3f|0x80]+lut[d2>>8&0xff]+'-'+lut[d2>>16&0xff]+lut[d2>>24&0xff]+
lut[d3&0xff]+lut[d3>>8&0xff]+lut[d3>>16&0xff]+lut[d3>>24&0xff];
}
return function () {
var d0 = Math.random() * 0xffffffff | 0;
var d1 = Math.random() * 0xffffffff | 0;
var d2 = Math.random() * 0xffffffff | 0;
var d3 = Math.random() * 0xffffffff | 0;
return lut[ d0 & 0xff ] + lut[ d0 >> 8 & 0xff ] + lut[ d0 >> 16 & 0xff ] + lut[ d0 >> 24 & 0xff ] + '-' +
lut[ d1 & 0xff ] + lut[ d1 >> 8 & 0xff ] + '-' + lut[ d1 >> 16 & 0x0f | 0x40 ] + lut[ d1 >> 24 & 0xff ] + '-' +
lut[ d2 & 0x3f | 0x80 ] + lut[ d2 >> 8 & 0xff ] + '-' + lut[ d2 >> 16 & 0xff ] + lut[ d2 >> 24 & 0xff ] +
lut[ d3 & 0xff ] + lut[ d3 >> 8 & 0xff ] + lut[ d3 >> 16 & 0xff ] + lut[ d3 >> 24 & 0xff ];
};
} )(),
clamp: function ( value, min, max ) {
......@@ -18435,6 +18443,7 @@
function WebGLTextures( _gl, extensions, state, properties, capabilities, utils, infoMemory ) {
var _isWebGL2 = ( typeof WebGL2RenderingContext !== 'undefined' && _gl instanceof window.WebGL2RenderingContext );
var _videoTextures = {};
//
......@@ -18529,8 +18538,13 @@
deallocateTexture( texture );
infoMemory.textures --;
if ( texture.isVideoTexture ) {
delete _videoTextures[ texture.id ];
}
infoMemory.textures --;
}
......@@ -18832,6 +18846,12 @@
textureProperties.__webglTexture = _gl.createTexture();
if ( texture.isVideoTexture ) {
_videoTextures[ texture.id ] = texture;
}
infoMemory.textures ++;
}
......@@ -19213,11 +19233,22 @@
}
function updateVideoTextures() {
for ( var id in _videoTextures ) {
_videoTextures[ id ].update();
}
}
this.setTexture2D = setTexture2D;
this.setTextureCube = setTextureCube;
this.setTextureCubeDynamic = setTextureCubeDynamic;
this.setupRenderTarget = setupRenderTarget;
this.updateRenderTargetMipmap = updateRenderTargetMipmap;
this.updateVideoTextures = updateVideoTextures;
}
......@@ -21168,7 +21199,8 @@
_stencil = parameters.stencil !== undefined ? parameters.stencil : true,
_antialias = parameters.antialias !== undefined ? parameters.antialias : false,
_premultipliedAlpha = parameters.premultipliedAlpha !== undefined ? parameters.premultipliedAlpha : true,
_preserveDrawingBuffer = parameters.preserveDrawingBuffer !== undefined ? parameters.preserveDrawingBuffer : false;
_preserveDrawingBuffer = parameters.preserveDrawingBuffer !== undefined ? parameters.preserveDrawingBuffer : false,
_powerPreference = parameters.powerPreference !== undefined ? parameters.powerPreference : 'default';
var lightsArray = [];
var shadowsArray = [];
......@@ -21314,9 +21346,15 @@
stencil: _stencil,
antialias: _antialias,
premultipliedAlpha: _premultipliedAlpha,
preserveDrawingBuffer: _preserveDrawingBuffer
preserveDrawingBuffer: _preserveDrawingBuffer,
powerPreference: _powerPreference
};
// event listeners must be registered before WebGL context is created, see #12753
_canvas.addEventListener( 'webglcontextlost', onContextLost, false );
_canvas.addEventListener( 'webglcontextrestored', onContextRestore, false );
_gl = _context || _canvas.getContext( 'webgl', contextAttributes ) || _canvas.getContext( 'experimental-webgl', contextAttributes );
if ( _gl === null ) {
......@@ -21345,9 +21383,6 @@
}
_canvas.addEventListener( 'webglcontextlost', onContextLost, false );
_canvas.addEventListener( 'webglcontextrestored', onContextRestore, false );
} catch ( error ) {
console.error( 'THREE.WebGLRenderer: ' + error );
......@@ -22239,6 +22274,10 @@
//
textures.updateVideoTextures();
//
if ( _clippingEnabled ) _clipping.beginShadows();
shadowMap.render( shadowsArray, scene, camera );
......@@ -25019,7 +25058,9 @@
Group.prototype = Object.assign( Object.create( Object3D.prototype ), {
constructor: Group
constructor: Group,
isGroup: true
} );
......@@ -25032,29 +25073,29 @@
Texture.call( this, video, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy );
this.generateMipmaps = false;
this.needsUpdate = true;
var scope = this;
}
function update() {
VideoTexture.prototype = Object.assign( Object.create( Texture.prototype ), {
var video = scope.image;
constructor: VideoTexture,
if ( video.readyState >= video.HAVE_CURRENT_DATA ) {
isVideoTexture: true,
scope.needsUpdate = true;
update: function () {
}
var video = this.image;
requestAnimationFrame( update );
if ( video.readyState >= video.HAVE_CURRENT_DATA ) {
}
this.needsUpdate = true;
requestAnimationFrame( update );
}
}
}
VideoTexture.prototype = Object.create( Texture.prototype );
VideoTexture.prototype.constructor = VideoTexture;
} );
/**
* @author alteredq / http://alteredqualia.com/
......@@ -28203,7 +28244,7 @@
this.setIndex( indicesArray );
this.addAttribute( 'position', new Float32BufferAttribute( verticesArray, 3 ) );
this.addAttribute( 'uv', new Float32BufferAttribute( options.arrays.uv, 2 ) );
this.addAttribute( 'uv', new Float32BufferAttribute( uvArray, 2 ) );
}
......@@ -44809,7 +44850,7 @@
Object.defineProperties( WebVRManager.prototype, {
standing: {
set: function ( value ) {
set: function ( /* value */ ) {
console.warn( 'THREE.WebVRManager: .standing has been removed.' );
此差异已折叠。
......@@ -319,19 +319,27 @@ var _Math = {
// http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/21963136#21963136
var lut = []; for (var i=0; i<256; i++) { lut[i] = (i<16?'0':'')+(i).toString(16).toUpperCase(); }
var lut = [];
for ( var i = 0; i < 256; i ++ ) {
lut[ i ] = ( i < 16 ? '0' : '' ) + ( i ).toString( 16 ).toUpperCase();
return function () {
var d0 = Math.random()*0xffffffff|0;
var d1 = Math.random()*0xffffffff|0;
var d2 = Math.random()*0xffffffff|0;
var d3 = Math.random()*0xffffffff|0;
return lut[d0&0xff]+lut[d0>>8&0xff]+lut[d0>>16&0xff]+lut[d0>>24&0xff]+'-'+
lut[d1&0xff]+lut[d1>>8&0xff]+'-'+lut[d1>>16&0x0f|0x40]+lut[d1>>24&0xff]+'-'+
lut[d2&0x3f|0x80]+lut[d2>>8&0xff]+'-'+lut[d2>>16&0xff]+lut[d2>>24&0xff]+
lut[d3&0xff]+lut[d3>>8&0xff]+lut[d3>>16&0xff]+lut[d3>>24&0xff];
}
return function () {
var d0 = Math.random() * 0xffffffff | 0;
var d1 = Math.random() * 0xffffffff | 0;
var d2 = Math.random() * 0xffffffff | 0;
var d3 = Math.random() * 0xffffffff | 0;
return lut[ d0 & 0xff ] + lut[ d0 >> 8 & 0xff ] + lut[ d0 >> 16 & 0xff ] + lut[ d0 >> 24 & 0xff ] + '-' +
lut[ d1 & 0xff ] + lut[ d1 >> 8 & 0xff ] + '-' + lut[ d1 >> 16 & 0x0f | 0x40 ] + lut[ d1 >> 24 & 0xff ] + '-' +
lut[ d2 & 0x3f | 0x80 ] + lut[ d2 >> 8 & 0xff ] + '-' + lut[ d2 >> 16 & 0xff ] + lut[ d2 >> 24 & 0xff ] +
lut[ d3 & 0xff ] + lut[ d3 >> 8 & 0xff ] + lut[ d3 >> 16 & 0xff ] + lut[ d3 >> 24 & 0xff ];
};
} )(),
clamp: function ( value, min, max ) {
......@@ -18429,6 +18437,7 @@ function WebGLPrograms( renderer, extensions, capabilities ) {
function WebGLTextures( _gl, extensions, state, properties, capabilities, utils, infoMemory ) {
var _isWebGL2 = ( typeof WebGL2RenderingContext !== 'undefined' && _gl instanceof window.WebGL2RenderingContext );
var _videoTextures = {};
//
......@@ -18523,8 +18532,13 @@ function WebGLTextures( _gl, extensions, state, properties, capabilities, utils,
deallocateTexture( texture );
infoMemory.textures --;
if ( texture.isVideoTexture ) {
delete _videoTextures[ texture.id ];
}
infoMemory.textures --;
}
......@@ -18826,6 +18840,12 @@ function WebGLTextures( _gl, extensions, state, properties, capabilities, utils,
textureProperties.__webglTexture = _gl.createTexture();
if ( texture.isVideoTexture ) {
_videoTextures[ texture.id ] = texture;
}
infoMemory.textures ++;
}
......@@ -19207,11 +19227,22 @@ function WebGLTextures( _gl, extensions, state, properties, capabilities, utils,
}
function updateVideoTextures() {
for ( var id in _videoTextures ) {
_videoTextures[ id ].update();
}
}
this.setTexture2D = setTexture2D;
this.setTextureCube = setTextureCube;
this.setTextureCubeDynamic = setTextureCubeDynamic;
this.setupRenderTarget = setupRenderTarget;
this.updateRenderTargetMipmap = updateRenderTargetMipmap;
this.updateVideoTextures = updateVideoTextures;
}
......@@ -21162,7 +21193,8 @@ function WebGLRenderer( parameters ) {
_stencil = parameters.stencil !== undefined ? parameters.stencil : true,
_antialias = parameters.antialias !== undefined ? parameters.antialias : false,
_premultipliedAlpha = parameters.premultipliedAlpha !== undefined ? parameters.premultipliedAlpha : true,
_preserveDrawingBuffer = parameters.preserveDrawingBuffer !== undefined ? parameters.preserveDrawingBuffer : false;
_preserveDrawingBuffer = parameters.preserveDrawingBuffer !== undefined ? parameters.preserveDrawingBuffer : false,
_powerPreference = parameters.powerPreference !== undefined ? parameters.powerPreference : 'default';
var lightsArray = [];
var shadowsArray = [];
......@@ -21308,9 +21340,15 @@ function WebGLRenderer( parameters ) {
stencil: _stencil,
antialias: _antialias,
premultipliedAlpha: _premultipliedAlpha,
preserveDrawingBuffer: _preserveDrawingBuffer
preserveDrawingBuffer: _preserveDrawingBuffer,
powerPreference: _powerPreference
};
// event listeners must be registered before WebGL context is created, see #12753
_canvas.addEventListener( 'webglcontextlost', onContextLost, false );
_canvas.addEventListener( 'webglcontextrestored', onContextRestore, false );
_gl = _context || _canvas.getContext( 'webgl', contextAttributes ) || _canvas.getContext( 'experimental-webgl', contextAttributes );
if ( _gl === null ) {
......@@ -21339,9 +21377,6 @@ function WebGLRenderer( parameters ) {
}
_canvas.addEventListener( 'webglcontextlost', onContextLost, false );
_canvas.addEventListener( 'webglcontextrestored', onContextRestore, false );
} catch ( error ) {
console.error( 'THREE.WebGLRenderer: ' + error );
......@@ -22233,6 +22268,10 @@ function WebGLRenderer( parameters ) {
//
textures.updateVideoTextures();
//
if ( _clippingEnabled ) _clipping.beginShadows();
shadowMap.render( shadowsArray, scene, camera );
......@@ -25013,7 +25052,9 @@ function Group() {
Group.prototype = Object.assign( Object.create( Object3D.prototype ), {
constructor: Group
constructor: Group,
isGroup: true
} );
......@@ -25026,29 +25067,29 @@ function VideoTexture( video, mapping, wrapS, wrapT, magFilter, minFilter, forma
Texture.call( this, video, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy );
this.generateMipmaps = false;
this.needsUpdate = true;
var scope = this;
}
function update() {
VideoTexture.prototype = Object.assign( Object.create( Texture.prototype ), {
var video = scope.image;
constructor: VideoTexture,
if ( video.readyState >= video.HAVE_CURRENT_DATA ) {
isVideoTexture: true,
scope.needsUpdate = true;
update: function () {
}
var video = this.image;
requestAnimationFrame( update );
if ( video.readyState >= video.HAVE_CURRENT_DATA ) {
}
this.needsUpdate = true;
requestAnimationFrame( update );
}
}
}
VideoTexture.prototype = Object.create( Texture.prototype );
VideoTexture.prototype.constructor = VideoTexture;
} );
/**
* @author alteredq / http://alteredqualia.com/
......@@ -28197,7 +28238,7 @@ ExtrudeBufferGeometry.prototype.addShape = function ( shape, options ) {
this.setIndex( indicesArray );
this.addAttribute( 'position', new Float32BufferAttribute( verticesArray, 3 ) );
this.addAttribute( 'uv', new Float32BufferAttribute( options.arrays.uv, 2 ) );
this.addAttribute( 'uv', new Float32BufferAttribute( uvArray, 2 ) );
}
......@@ -44803,7 +44844,7 @@ Object.assign( WebVRManager.prototype, {
Object.defineProperties( WebVRManager.prototype, {
standing: {
set: function ( value ) {
set: function ( /* value */ ) {
console.warn( 'THREE.WebVRManager: .standing has been removed.' );
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册