Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在three.js中,何时需要启用PointCloud.sortParticles?_Three.js - Fatal编程技术网

在three.js中,何时需要启用PointCloud.sortParticles?

在three.js中,何时需要启用PointCloud.sortParticles?,three.js,Three.js,我发现一些示例支持此属性,但没有足够的注释让我理解它的重要性。 请告诉我此属性的最佳做法是什么?编辑:点云现在是点,并且.sortParticles属性已被删除。这意味着这些点将按照它们在缓冲区中的存在顺序进行渲染。下面的答案已经过时了。3.js r.73 这是一个完美的例子,说明了如果您使用three.js,那么至少了解webGL的基本概念是很重要的。(见附件。) 如果渲染顺序很重要,则需要设置PointCloud.sortParticles=true 下面是一个渲染顺序很重要的示例: va

我发现一些示例支持此属性,但没有足够的注释让我理解它的重要性。
请告诉我此属性的最佳做法是什么?

编辑:
点云
现在是
,并且
.sortParticles
属性已被删除。这意味着这些点将按照它们在缓冲区中的存在顺序进行渲染。下面的答案已经过时了。3.js r.73


这是一个完美的例子,说明了如果您使用three.js,那么至少了解webGL的基本概念是很重要的。(见附件。)

如果渲染顺序很重要,则需要设置
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
在这种情况下,渲染器将按深度对点进行排序,因此首先渲染距离摄影机较远的点,并通过较近点的透明区域显示

下面是一个渲染顺序无关紧要的示例:

由于排序发生在CPU端,因此最好明智地选择材质设置,这样可以避免开销,特别是对于大型系统

我建议你建立一个试验台和实验。有许多可能的情况需要考虑。


three.js r.69

谢谢!深度排序的概念对我很有帮助。
var material = new THREE.PointCloudMaterial( {
    map: texture,
    blending: THREE.AdditiveBlending,
    depthTest: false,
    transparent: true
} );

// point cloud
var pointCloud = new THREE.PointCloud( geometry, material );