gpt4 book ai didi

three.js - 在three.js中,我们什么时候需要启用PointCloud.sortParticles?

转载 作者:行者123 更新时间:2023-12-01 09:59:58 30 4
gpt4 key购买 nike

我发现一些示例启用了此属性,但没有足够的评论让我理解它的重要性。你能告诉我这个属性的最佳做法是什么吗?

最佳答案

编辑:PointCloud 现在是 Points,并且 .sortParticles 属性已被移除。这意味着这些点按照它们在缓冲区中存在的顺序进行渲染。下面的答案已经过时了。三.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 端,因此最好明智地选择 Material 设置,这样可以避免开销——尤其是对于大型系统。

我建议你建立一个测试平台并进行实验。有很多很多可能的情况需要考虑。

three.js r.69

关于three.js - 在three.js中,我们什么时候需要启用PointCloud.sortParticles?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17764866/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com