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

Renamed THREE.PointCloud to THREE.Points.

* Shorter (less typo-prone)
* More intuitive (also "aligns" with gl.POINTS)
* Makes a nice API (Mesh, Line, Points).
上级 7488add5
......@@ -293,7 +293,7 @@ THREE.BufferGeometry.prototype = {
var geometry = object.geometry;
if ( object instanceof THREE.PointCloud || object instanceof THREE.Line ) {
if ( object instanceof THREE.Points || object instanceof THREE.Line ) {
var positions = new THREE.Float32Attribute( geometry.vertices.length * 3, 3 );
var colors = new THREE.Float32Attribute( geometry.colors.length * 3, 3 );
......
......@@ -17,18 +17,27 @@
this.params = {
Sprite: {},
Mesh: {},
PointCloud: { threshold: 1 },
Points: { threshold: 1 },
LOD: {},
Line: {}
};
Object.defineProperties( this.params, {
PointCloud: {
get: function () {
console.warn( 'THREE.Raycaster: params.PointCloud has been renamed to params.Points.' );
return this.Points;
}
}
} );
};
var descSort = function ( a, b ) {
function descSort( a, b ) {
return a.distance - b.distance;
};
}
var intersectObject = function ( object, raycaster, intersects, recursive ) {
......
......@@ -78,7 +78,7 @@ THREE.MaterialLoader.prototype = {
if ( json.wireframe !== undefined ) material.wireframe = json.wireframe;
if ( json.wireframeLinewidth !== undefined ) material.wireframeLinewidth = json.wireframeLinewidth;
// for PointCloudMaterial
// for PointsMaterial
if ( json.size !== undefined ) material.size = json.size;
if ( json.sizeAttenuation !== undefined ) material.sizeAttenuation = json.sizeAttenuation;
......
......@@ -517,8 +517,9 @@ THREE.ObjectLoader.prototype = {
break;
case 'PointCloud':
case 'Points':
object = new THREE.PointCloud( getGeometry( data.geometry ), getMaterial( data.material ) );
object = new THREE.Points( getGeometry( data.geometry ), getMaterial( data.material ) );
break;
......
......@@ -20,11 +20,11 @@
* }
*/
THREE.PointCloudMaterial = function ( parameters ) {
THREE.PointsMaterial = function ( parameters ) {
THREE.Material.call( this );
this.type = 'PointCloudMaterial';
this.type = 'PointsMaterial';
this.color = new THREE.Color( 0xffffff );
......@@ -41,10 +41,10 @@ THREE.PointCloudMaterial = function ( parameters ) {
};
THREE.PointCloudMaterial.prototype = Object.create( THREE.Material.prototype );
THREE.PointCloudMaterial.prototype.constructor = THREE.PointCloudMaterial;
THREE.PointsMaterial.prototype = Object.create( THREE.Material.prototype );
THREE.PointsMaterial.prototype.constructor = THREE.PointsMaterial;
THREE.PointCloudMaterial.prototype.copy = function ( source ) {
THREE.PointsMaterial.prototype.copy = function ( source ) {
THREE.Material.prototype.copy.call( this, source );
......@@ -58,23 +58,30 @@ THREE.PointCloudMaterial.prototype.copy = function ( source ) {
this.vertexColors = source.vertexColors;
this.fog = source.fog;
return this;
};
// backwards compatibility
THREE.PointCloudMaterial = function ( parameters ) {
console.warn( 'THREE.PointCloudMaterial has been renamed to THREE.PointsMaterial.' );
return new THREE.PointsMaterial( parameters );
};
THREE.ParticleBasicMaterial = function ( parameters ) {
console.warn( 'THREE.ParticleBasicMaterial has been renamed to THREE.PointCloudMaterial.' );
return new THREE.PointCloudMaterial( parameters );
console.warn( 'THREE.ParticleBasicMaterial has been renamed to THREE.PointsMaterial.' );
return new THREE.PointsMaterial( parameters );
};
THREE.ParticleSystemMaterial = function ( parameters ) {
console.warn( 'THREE.ParticleSystemMaterial has been renamed to THREE.PointCloudMaterial.' );
return new THREE.PointCloudMaterial( parameters );
console.warn( 'THREE.ParticleSystemMaterial has been renamed to THREE.PointsMaterial.' );
return new THREE.PointsMaterial( parameters );
};
......@@ -2,21 +2,21 @@
* @author alteredq / http://alteredqualia.com/
*/
THREE.PointCloud = function ( geometry, material ) {
THREE.Points = function ( geometry, material ) {
THREE.Object3D.call( this );
this.type = 'PointCloud';
this.type = 'Points';
this.geometry = geometry !== undefined ? geometry : new THREE.Geometry();
this.material = material !== undefined ? material : new THREE.PointCloudMaterial( { color: Math.random() * 0xffffff } );
this.material = material !== undefined ? material : new THREE.PointsMaterial( { color: Math.random() * 0xffffff } );
};
THREE.PointCloud.prototype = Object.create( THREE.Object3D.prototype );
THREE.PointCloud.prototype.constructor = THREE.PointCloud;
THREE.Points.prototype = Object.create( THREE.Object3D.prototype );
THREE.Points.prototype.constructor = THREE.Points;
THREE.PointCloud.prototype.raycast = ( function () {
THREE.Points.prototype.raycast = ( function () {
var inverseMatrix = new THREE.Matrix4();
var ray = new THREE.Ray();
......@@ -25,7 +25,7 @@ THREE.PointCloud.prototype.raycast = ( function () {
var object = this;
var geometry = object.geometry;
var threshold = raycaster.params.PointCloud.threshold;
var threshold = raycaster.params.Points.threshold;
inverseMatrix.getInverse( this.matrixWorld );
ray.copy( raycaster.ray ).applyMatrix4( inverseMatrix );
......@@ -120,13 +120,13 @@ THREE.PointCloud.prototype.raycast = ( function () {
}() );
THREE.PointCloud.prototype.clone = function () {
THREE.Points.prototype.clone = function () {
return new this.constructor( this.geometry, this.material ).copy( this );
};
THREE.PointCloud.prototype.toJSON = function ( meta ) {
THREE.Points.prototype.toJSON = function ( meta ) {
var data = THREE.Object3D.prototype.toJSON.call( this, meta );
......@@ -153,9 +153,16 @@ THREE.PointCloud.prototype.toJSON = function ( meta ) {
// Backwards compatibility
THREE.PointCloud = function ( geometry, material ) {
console.warn( 'THREE.PointCloud has been renamed to THREE.Points.' );
return new THREE.Points( geometry, material );
};
THREE.ParticleSystem = function ( geometry, material ) {
console.warn( 'THREE.ParticleSystem has been renamed to THREE.PointCloud.' );
return new THREE.PointCloud( geometry, material );
console.warn( 'THREE.ParticleSystem has been renamed to THREE.Points.' );
return new THREE.Points( geometry, material );
};
......@@ -899,7 +899,7 @@ THREE.WebGLRenderer = function ( parameters ) {
renderer.render( group.start, group.count );
} else if ( object instanceof THREE.PointCloud ) {
} else if ( object instanceof THREE.Points ) {
renderer.setMode( _gl.POINTS );
renderer.render( group.start, group.count );
......@@ -1321,7 +1321,7 @@ THREE.WebGLRenderer = function ( parameters ) {
pushImmediateRenderItem( object );
} else if ( object instanceof THREE.Mesh || object instanceof THREE.Line || object instanceof THREE.PointCloud ) {
} else if ( object instanceof THREE.Mesh || object instanceof THREE.Line || object instanceof THREE.Points ) {
if ( object instanceof THREE.SkinnedMesh ) {
......@@ -1774,7 +1774,7 @@ THREE.WebGLRenderer = function ( parameters ) {
refreshUniformsLine( m_uniforms, material );
refreshUniformsDash( m_uniforms, material );
} else if ( material instanceof THREE.PointCloudMaterial ) {
} else if ( material instanceof THREE.PointsMaterial ) {
refreshUniformsParticle( m_uniforms, material );
......
......@@ -387,11 +387,11 @@ THREE.ShaderLib = {
},
'particle_basic': {
'points': {
uniforms: THREE.UniformsUtils.merge( [
THREE.UniformsLib[ "particle" ],
THREE.UniformsLib[ "points" ],
THREE.UniformsLib[ "shadowmap" ]
] ),
......
......@@ -99,7 +99,7 @@ THREE.UniformsLib = {
},
particle: {
points: {
"psColor" : { type: "c", value: new THREE.Color( 0xeeeeee ) },
"opacity" : { type: "f", value: 1.0 },
......
......@@ -10,7 +10,7 @@ THREE.WebGLPrograms = function ( renderer, capabilities ) {
MeshPhongMaterial: 'phong',
LineBasicMaterial: 'basic',
LineDashedMaterial: 'dashed',
PointCloudMaterial: 'particle_basic'
PointsMaterial: 'points'
};
var parameterNames = [
......
......@@ -291,7 +291,7 @@ THREE.WebGLShadowMap = function ( _renderer, _lights, _objects ) {
if ( object.visible === false ) return;
if ( object instanceof THREE.Mesh || object instanceof THREE.Line || object instanceof THREE.PointCloud ) {
if ( object instanceof THREE.Mesh || object instanceof THREE.Line || object instanceof THREE.Points ) {
if ( object.castShadow && ( object.frustumCulled === false || _frustum.intersectsObject( object ) === true ) ) {
......
......@@ -64,7 +64,7 @@
"src/materials/MeshDepthMaterial.js",
"src/materials/MeshNormalMaterial.js",
"src/materials/MultiMaterial.js",
"src/materials/PointCloudMaterial.js",
"src/materials/PointsMaterial.js",
"src/materials/ShaderMaterial.js",
"src/materials/RawShaderMaterial.js",
"src/materials/SpriteMaterial.js",
......@@ -75,7 +75,7 @@
"src/textures/DataTexture.js",
"src/textures/VideoTexture.js",
"src/objects/Group.js",
"src/objects/PointCloud.js",
"src/objects/Points.js",
"src/objects/Line.js",
"src/objects/LineSegments.js",
"src/objects/Mesh.js",
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册