我很好奇
当我使用
我在这里提取了一个简单的例子,涉及到我的问题:http://dev.cartelle.nl/particle-example/
gl_PointSize
和 PointCloudMaterial
中的 size 属性之间的关系是什么。当我使用
PointCloudMaterial
创建一个 PointCloud
并将 size
属性设置为 1
时,粒子的大小比使用 ShaderMaterial
创建 PointCloud
并将顶点着色器的 size 参数设置为 1
要大得多。我还考虑了像 PointCloudMaterial
着色器中那样的大小衰减:<script type="x-shader/x-vertex" id="particle_vs">
uniform float size;
uniform float scale;
void main() {
vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );
gl_PointSize = size * ( scale / length( mvPosition.xyz ) );
gl_Position = projectionMatrix * mvPosition;
}
</script>
我在这里提取了一个简单的例子,涉及到我的问题:http://dev.cartelle.nl/particle-example/
- 红色粒子使用
PointCloudMaterial
并设定大小为1
。 - 绿色粒子使用
ShaderMaterial
,其中包含一个考虑尺寸衰减的Vertex Shader
,就像在PointCloudMaterial
中一样。在这种情况下我将size
设为300
,但是您可以看到绿色粒子仍然较小。
我期望得到的结果是,ShaderMaterial
采用与PointCloudMaterial
的size
属性相同的单位度量。由于必须同时使用这两种材料,因此我正在尝试找出这些大小之间的关系。也许是我在vertex shader
上漏掉了什么?
谢谢! Johnny
sortParticles
不再是PointCloud
的一个属性。 - WestLangley