我发现有一些例子启用了这个属性,但是没有足够的评论让我理解它的重要性。 你能告诉我这个房产的最佳做法吗?
答案 0 :(得分:7)
编辑:PointCloud
现在为Points
,.sortParticles
属性已被删除。这意味着这些点按照缓冲区中存在的顺序进行渲染。以下答案已过时。 three.js r.73
这是一个很好的例子,说明如果你使用three.js,至少要了解webGL的基本概念。 (见this SO post。)
如果渲染顺序很重要,您需要设置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