THREE.PointCloudMaterial中如何使用大小?

迈克·坎特

我试图了解THREE.PointCloudMaterial中的“大小”属性如何转换为它在屏幕上的点的大小。

在将正交摄影机设置为(-1,1,1-1)且大小= 1的情况下,这些点不会占满整个屏幕的一半,因此,显然,此参数不涉及摄影机空间。它也不是指像素。在“大小= 1”处,点>> 1像素。

此外,如果我调整浏览器窗口的大小,更改它的高度,点的大小会缩放,而如果我调整窗口的宽度的大小,则这些点的大小也不会缩放(!?!)

任何有关如何将“尺寸”转换为屏幕或相机空间的说明将不胜感激。

如果有兴趣,为什么我需要知道这一点:我试图在第二个使用ShaderMaterial的PointCloud上叠加一个THREE.PointCloudMaterial(可以使用它使用纹理贴图)覆盖一个PointCloud(我可以在其中发送尺寸)参数直接指向gl_PointSize并确切知道每个点的大小)。我在匹配两个云中的点大小时遇到​​麻烦。

谢谢!-麦克风

桶头

在这里,在第368行代码开始。

它使用gl_PointSize栅格化顶点。存在两种选择,一种具有衰减,另一种不具有。如果没有,则将点栅格化为固定大小(以像素为单位)。使用时,尺寸除以深度并创建透视效果。这是在顶点着色器中发生的。

查看代码,似乎在衰减的情况下以世界单位表示尺寸,在没有的情况下以固定的像素尺寸表示。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章