public void setUV(float[] u, float[] v) {
    if (m_bilinear) {
      // sets & scales uv texture coordinates to edges of pixels
      u_array[0] = (u[0] * F_TEX_WIDTH) * 65500f;
      u_array[1] = (u[1] * F_TEX_WIDTH) * 65500f;
      u_array[2] = (u[2] * F_TEX_WIDTH) * 65500f;
      v_array[0] = (v[0] * F_TEX_HEIGHT) * 65500f;
      v_array[1] = (v[1] * F_TEX_HEIGHT) * 65500f;
      v_array[2] = (v[2] * F_TEX_HEIGHT) * 65500f;
    } else {
      // sets & scales uv texture coordinates to center of the pixel
      u_array[0] = (u[0] * TEX_WIDTH) * 65500f;
      u_array[1] = (u[1] * TEX_WIDTH) * 65500f;
      u_array[2] = (u[2] * TEX_WIDTH) * 65500f;
      v_array[0] = (v[0] * TEX_HEIGHT) * 65500f;
      v_array[1] = (v[1] * TEX_HEIGHT) * 65500f;
      v_array[2] = (v[2] * TEX_HEIGHT) * 65500f;
    }
  }


//  public void setIndex(int index) {
//    m_index = index;
//  }