I found some of the examples enable this property, but there're not enough comments to make me understand what it matters. Could you please tell me what's the best practice of this property?
问问题
2126 次
1 回答
8
编辑:PointCloud
现在是Points
,并且该.sortParticles
属性已被删除。这意味着这些点按照它们在缓冲区中存在的顺序进行渲染。下面的答案已经过时了。三.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 端,因此最好明智地选择材质设置,这样可以避免开销——尤其是对于大型系统。
我建议你建立一个测试平台并进行实验。有很多很多可能的情况需要考虑。
三.js r.69
于 2013-07-20T20:53:40.413 回答