Seems like most people never mention a very important problem with particles in 3D... if you have a z buffer when you render particles, you will almost definetly see glitches where a raticle rendered earlier will make a particle rendered later partially or completely invisible. In that case disabling writing to z buffer somewhat solves the problem. However, imagine you have a particle system with a very thick smoke, and another system right behind it, say a fire. If the smoke system is rendered earlier than fire you will still see fire through the smoke, because the smoke doesnt write anything to z buffer. How would you people solve this problem? you wouldn't sort every particle by the distance to camera, would you?