From 575c0fa8b34ba6c466b26a9319e92ff51ca94fc6 Mon Sep 17 00:00:00 2001 From: "Mr.doob" Date: Sun, 29 Jun 2014 14:40:05 -0400 Subject: [PATCH] Updated builds. --- build/three.js | 73 +++++++++++++--------------------------------- build/three.min.js | 40 ++++++++++++------------- 2 files changed, 41 insertions(+), 72 deletions(-) diff --git a/build/three.js b/build/three.js index b6c6089481..f096af7f2c 100644 --- a/build/three.js +++ b/build/three.js @@ -16665,6 +16665,8 @@ THREE.CanvasRenderer = function ( parameters ) { function textureToPattern( texture ) { + if ( texture instanceof THREE.CompressedTexture ) return; + var repeatX = texture.wrapS === THREE.RepeatWrapping; var repeatY = texture.wrapT === THREE.RepeatWrapping; @@ -20388,16 +20390,6 @@ THREE.WebGLRenderer = function ( parameters ) { var _fragmentShaderPrecisionMediumpFloat = _gl.getShaderPrecisionFormat( _gl.FRAGMENT_SHADER, _gl.MEDIUM_FLOAT ); var _fragmentShaderPrecisionLowpFloat = _gl.getShaderPrecisionFormat( _gl.FRAGMENT_SHADER, _gl.LOW_FLOAT ); - /* - var _vertexShaderPrecisionHighpInt = _gl.getShaderPrecisionFormat( _gl.VERTEX_SHADER, _gl.HIGH_INT ); - var _vertexShaderPrecisionMediumpInt = _gl.getShaderPrecisionFormat( _gl.VERTEX_SHADER, _gl.MEDIUM_INT ); - var _vertexShaderPrecisionLowpInt = _gl.getShaderPrecisionFormat( _gl.VERTEX_SHADER, _gl.LOW_INT ); - - var _fragmentShaderPrecisionHighpInt = _gl.getShaderPrecisionFormat( _gl.FRAGMENT_SHADER, _gl.HIGH_INT ); - var _fragmentShaderPrecisionMediumpInt = _gl.getShaderPrecisionFormat( _gl.FRAGMENT_SHADER, _gl.MEDIUM_INT ); - var _fragmentShaderPrecisionLowpInt = _gl.getShaderPrecisionFormat( _gl.FRAGMENT_SHADER, _gl.LOW_INT ); - */ - // clamp precision to maximum available var highpAvailable = _vertexShaderPrecisionHighpFloat.precision > 0 && _fragmentShaderPrecisionHighpFloat.precision > 0; @@ -23445,11 +23437,24 @@ THREE.WebGLRenderer = function ( parameters ) { _frustum.setFromMatrix( _projScreenMatrix ); // update WebGL objects - if ( this.autoUpdateObjects ) this.initWebGLObjects( scene ); - // custom render plugins (pre pass) + opaqueObjects.length = 0; + transparentObjects.length = 0; + _sortObjects = this.sortObjects; + + projectObject(scene,scene,camera); + + if ( this.sortObjects ) { + + opaqueObjects.sort( painterSortStable ); + transparentObjects.sort( reversePainterSortStable ); + + } + + // custom render plugins (pre pass) + renderPlugins( this.renderPluginsPre, scene, camera ); // @@ -23470,18 +23475,7 @@ THREE.WebGLRenderer = function ( parameters ) { // set matrices for regular objects (frustum culled) - opaqueObjects.length = 0; - transparentObjects.length = 0; - _sortObjects = this.sortObjects; - - projectObject(scene,scene,camera); - if ( this.sortObjects ) { - - opaqueObjects.sort( painterSortStable ); - transparentObjects.sort( reversePainterSortStable ); - - } // set matrices for immediate objects @@ -23565,14 +23559,11 @@ THREE.WebGLRenderer = function ( parameters ) { updateObject(scene, object); - setupMatrices( object, camera ); - for (var i = 0, l = webglObjects.length; i < l; i++){ var webglObject = webglObjects[i]; unrollBufferMaterial( webglObject ); - webglObject.render = true; @@ -23655,6 +23646,8 @@ THREE.WebGLRenderer = function ( parameters ) { object = webglObject.object; buffer = webglObject.buffer; + + setupMatrices( object, camera ); if ( overrideMaterial ) { @@ -24196,7 +24189,7 @@ THREE.WebGLRenderer = function ( parameters ) { function removeInstancesWebglObjects( objlist, object ) { - delete objlist[object]; + delete objlist[object.id]; }; @@ -36752,36 +36745,12 @@ THREE.DepthPassPlugin = function () { _renderList.length = 0; projectObject(scene,scene,camera); - - /*_renderList = scene.__webglObjects; - - for ( j = 0, jl = renderList.length; j < jl; j ++ ) { - - webglObject = renderList[ j ]; - object = webglObject.object; - - webglObject.render = false; - - if ( object.visible ) { - - if ( object.frustumCulled === false || _frustum.intersectsObject( object ) === true ) { - - object._modelViewMatrix.multiplyMatrices( camera.matrixWorldInverse, object.matrixWorld ); - - webglObject.render = true; - - } - - } - - }*/ - // render regular objects var objectMaterial, useMorphing, useSkinning; - for ( j = 0, jl = renderList.length; j < jl; j ++ ) { + for ( j = 0, jl = _renderList.length; j < jl; j ++ ) { webglObject = _renderList[ j ]; diff --git a/build/three.min.js b/build/three.min.js index f18a457e20..065357958c 100644 --- a/build/three.min.js +++ b/build/three.min.js @@ -311,20 +311,20 @@ THREE.Sprite.prototype.raycast=function(){var a=new THREE.Vector3;return functio THREE.Sprite.prototype.clone=function(a){void 0===a&&(a=new THREE.Sprite(this.material));THREE.Object3D.prototype.clone.call(this,a);return a};THREE.Particle=THREE.Sprite;THREE.Scene=function(){THREE.Object3D.call(this);this.overrideMaterial=this.fog=null;this.autoUpdate=!0;this.matrixAutoUpdate=!1;this.__lights=[];this.__objectsAdded=[];this.__objectsRemoved=[]};THREE.Scene.prototype=Object.create(THREE.Object3D.prototype); THREE.Scene.prototype.__addObject=function(a){if(a instanceof THREE.Light)-1===this.__lights.indexOf(a)&&this.__lights.push(a),a.target&&void 0===a.target.parent&&this.add(a.target);else if(!(a instanceof THREE.Camera||a instanceof THREE.Bone)){this.__objectsAdded.push(a);var b=this.__objectsRemoved.indexOf(a);-1!==b&&this.__objectsRemoved.splice(b,1)}this.dispatchEvent({type:"objectAdded",object:a});a.dispatchEvent({type:"addedToScene",scene:this});for(b=0;bB&&z.clearRect(X.min.x|0,X.min.y|0,X.max.x-X.min.x|0,X.max.y-X.min.y|0),0S.positionScreen.z|| +0;bB&&z.clearRect(X.min.x|0,X.min.y|0,X.max.x-X.min.x|0,X.max.y-X.min.y|0),0S.positionScreen.z|| 1W.positionScreen.z||1O.positionScreen.z||1=J||(J*=R.intensity,L.add(da.multiplyScalar(J)))):R instanceof THREE.PointLight&&(B=Ka.setFromMatrixPosition(R.matrixWorld),J=H.dot(Ka.subVectors(B,K).normalize()),0>=J||(J*=0==R.distance? @@ -416,13 +416,13 @@ qb[Pa]=[wa.z,Pa];qb.sort(t);for(Pa=0;Pa