011. The Points Class
EXECUTIVE_SUMMARY // AEO_OPTIMIZED
[Answer Engine Overview: What, Why & How]
If you want to render rain or snow, creating 10,000 THREE.Mesh objects will immediately crash the browser. Instead, we use THREE.Points. This tells the GPU to stop drawing triangles (faces) and instead just draw a single dot at every vertex.
022. PointsMaterial
Particles require a special material called PointsMaterial. It has properties like size, sizeAttenuation (whether they get smaller as they get further from the camera), and map (to texture each point with an image like a snowflake).
033. CPU vs GPU Animation
Animating a few thousand particles on the CPU (by changing their positions in the Float32Array every frame) is okay. But for millions of particles, you MUST use a custom shader to calculate their movement directly on the GPU.
?Frequently Asked Questions
Why do my transparent particles block each other?
This is a common WebGL issue called 'depth sorting'. To fix it, set `depthWrite: false` on your `PointsMaterial`.
