我很好奇,想知道的關係是什麼gl_PointSize
和內PointCloudMaterial
大小屬性之間。Threejs:PointCloudMaterial尺寸相比ShaderMaterial gl_PointSize與大小衰減
當我創建PointCloudMaterial
一個PointCloud
並設置size
屬性1
,所述顆粒的尺寸遠遠創建與ShaderMaterial
一個PointCloud
和用於頂點着色器的尺寸參數設置爲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
上的尺寸屬性相同的單位度量。我必須同時使用這兩種材料,所以我試圖弄清楚這些尺寸之間的關係。必須是我在頂點着色器中丟失的東西?
謝謝! 約翰尼
僅供參考 - 'sortParticles'不再是'PointCloud'的屬性。 – WestLangley