我发现一些示例启用了这个属性,但是没有足够的评论让我理解它的重要性。 你能告诉我这个属性的最佳实践是什么吗?
我发现一些示例启用了这个属性,但是没有足够的评论让我理解它的重要性。 你能告诉我这个属性的最佳实践是什么吗?
编辑:现在PointCloud
已更名为Points
,.sortParticles
属性已被移除。这意味着点将按照它们在缓冲区中的存在顺序进行渲染。下面的答案已过时。three.js r.73
如果你正在使用three.js,了解至少基本的WebGL概念是非常重要的,这是一个很好的例子。(参见此SO文章)
如果渲染顺序很重要,你需要设置PointCloud.sortParticles = true
。
以下是一个渲染顺序很重要的示例:
var material = new THREE.PointCloudMaterial( {
map: texture, // has transparent areas
transparent: true
} );
var pointCloud = new THREE.PointCloud( geometry, material );
pointCloud.sortParticles = true; // the default is false
var material = new THREE.PointCloudMaterial( {
map: texture,
blending: THREE.AdditiveBlending,
depthTest: false,
transparent: true
} );
// point cloud
var pointCloud = new THREE.PointCloud( geometry, material );
由于排序发生在CPU端,因此最好明智地选择您的材料设置,以避免开销 - 尤其是对于大型系统。
我建议您建立一个测试平台并进行实验。有很多可能要考虑的情况。
three.js r.69