docs: private float[] generateParticlePositions()
      {
          float[] positions = new float[mEmitRate * 3];
  
          for ( int i = 0; i < mEmitRate * 3; i += 3 )
          {
              float x = 0, y = 0, z = 0;
              do {
                  x = mRandom.nextFloat() * 2 * mRadius - mRadius;
                  y = mRandom.nextFloat() * 2 * mRadius - mRadius;
                  z = mRandom.nextFloat() * 2 * mRadius - mRadius;
              }
              while (x * x + y * y + z * z > mRadius * mRadius);
  
              positions[i] = x;
              positions[i+1] = y;
              positions[i+2] = z;
          }
          return positions;
      }