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

Removed dynamic uniforms. See #9662 #9741

上级 8e8e2e20
......@@ -11,6 +11,7 @@ import { BufferGeometry } from './core/BufferGeometry.js';
import { EventDispatcher } from './core/EventDispatcher.js';
import { Face3 } from './core/Face3.js';
import { Object3D } from './core/Object3D.js';
import { Uniform } from './core/Uniform';
import { BoxGeometry } from './geometries/BoxGeometry.js';
import { EdgesGeometry } from './geometries/EdgesGeometry.js';
import { ExtrudeGeometry } from './geometries/ExtrudeGeometry.js';
......@@ -524,6 +525,22 @@ EventDispatcher.prototype = Object.assign( Object.create( {
//
Object.defineProperties( Uniform.prototype, {
dynamic: {
set: function ( value ) {
console.warn( 'THREE.Uniform: .dynamic has been removed. Use object.onBeforeRender() instead.' );
}
},
onUpdate: {
value: function () {
console.warn( 'THREE.Uniform: .onUpdate() has been removed. Use object.onBeforeRender() instead.' );
return this;
}
}
} );
//
Object.assign( WebGLRenderer.prototype, {
supportsFloatTextures: function () {
console.warn( 'THREE.WebGLRenderer: .supportsFloatTextures() is now .extensions.get( \'OES_texture_float\' ).' );
......
......@@ -13,24 +13,6 @@ function Uniform( value ) {
this.value = value;
this.dynamic = false;
}
Uniform.prototype = {
constructor: Uniform,
onUpdate: function ( callback ) {
this.dynamic = true;
this.onUpdateCallback = callback;
return this;
}
};
export { Uniform };
......@@ -1677,8 +1677,6 @@ function WebGLRenderer( parameters ) {
WebGLUniforms.seqWithValue( progUniforms.seq, uniforms );
materialProperties.uniformsList = uniformsList;
materialProperties.dynamicUniforms =
WebGLUniforms.splitDynamic( uniformsList, uniforms );
}
......@@ -1967,18 +1965,6 @@ function WebGLRenderer( parameters ) {
p_uniforms.set( _gl, object, 'normalMatrix' );
p_uniforms.setValue( _gl, 'modelMatrix', object.matrixWorld );
// dynamic uniforms
var dynUniforms = materialProperties.dynamicUniforms;
if ( dynUniforms !== null ) {
WebGLUniforms.evalDynamic( dynUniforms, m_uniforms, object, material, camera );
WebGLUniforms.upload( _gl, dynUniforms, m_uniforms, _this );
}
return program;
}
......
......@@ -30,10 +30,6 @@
*
* filters 'seq' entries with corresponding entry in values
*
* .splitDynamic( seq, values ) : filteredSeq
*
* filters 'seq' entries with dynamic entry and removes them from 'seq'
*
*
* Methods of the top-level container (renderer factorizations):
*
......@@ -543,49 +539,4 @@ WebGLUniforms.seqWithValue = function( seq, values ) {
};
WebGLUniforms.splitDynamic = function( seq, values ) {
var r = null,
n = seq.length,
w = 0;
for ( var i = 0; i !== n; ++ i ) {
var u = seq[ i ],
v = values[ u.id ];
if ( v && v.dynamic === true ) {
if ( r === null ) r = [];
r.push( u );
} else {
// in-place compact 'seq', removing the matches
if ( w < i ) seq[ w ] = u;
++ w;
}
}
if ( w < n ) seq.length = w;
return r;
};
WebGLUniforms.evalDynamic = function( seq, values, object, material, camera ) {
for ( var i = 0, n = seq.length; i !== n; ++ i ) {
var v = values[ seq[ i ].id ],
f = v.onUpdateCallback;
if ( f !== undefined ) f.call( v, object, material, camera );
}
};
export { WebGLUniforms };
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册