gpt4 book ai didi

three.js - 如何在 THREE.PointCloudMaterial 中使用大小?

转载 作者:行者123 更新时间:2023-12-01 23:53:39 24 4
gpt4 key购买 nike

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

将正交相机设置为 (-1,1,1-1) 且大小 = 1,点不会填满屏幕的一半,因此显然此参数与相机空间无关。它也不是指像素;在“size = 1”处,点 >> 1 个像素。

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

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

如果我感兴趣为什么我需要知道这个:我正在尝试将一个点云与一个 THREE.PointCloudMaterial(我可以使用纹理贴图)覆盖在第二个使用 ShaderMaterial 的点云上(我可以在其中使用将大小参数直接发送到 gl_PointSize 并确切知道每个点的大小)。我无法匹配两个云中的点大小。

谢谢!-迈克

最佳答案

Here, at line 368 the code starts.

它使用 gl_PointSize栅格化一个顶点。有两种选择,一种有衰减,另一种没有。如果没有,该点将被栅格化为以像素为单位的固定大小。随着,大小按深度划分并创建透视效果。这发生在顶点着色器中。

查看代码,似乎在衰减的情况下,大小将以世界单位表示,否则为固定像素大小。

关于three.js - 如何在 THREE.PointCloudMaterial 中使用大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25213833/

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