- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图了解 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/
我试图了解 THREE.PointCloudMaterial 中的“大小”属性如何转换为它在屏幕上的点的大小。 将正交相机设置为 (-1,1,1-1) 且大小 = 1,点不会填满屏幕的一半,因此显然此
我是一名优秀的程序员,十分优秀!