I came to realise maybe I should calculate the origin color each time when the draw call happens and any pixel get modified.Is that right?I just used method above but the color becomes brighter.Color buffer seems to have an explosion.small colorful paricles far away from each other are just alright,they only be written once.While the pixel in the central part are influenced by several particle systems,totally a mess.