dmaz #1 you're reading a per-particle-pointer in order to get to the next particle right, and that's all you're doing. with a for loop you have to read the pointer and then either add/multiply the pos/size to get the next particle.