0

从示例中复制和粘贴源代码是一回事,但我正在寻找一些答案来解释为什么这些示例是这样的。

我无法回答的一个问题是为什么三角形的 ByteBuffer 每个坐标需要四个字节。

Google 提供的示例中,一个 ByteBuffer 被实例化为每个三角形坐标四个字节。

    // initialize vertex byte buffer for shape coordinates
    // (number of coordinate values * 4 bytes per float)
    ByteBuffer bb = ByteBuffer.allocateDirect(triangleCoords.length * 4);

    // use the device hardware's native byte order
    bb.order(ByteOrder.nativeOrder());
  1. 为什么每个坐标是四个字节而不是 2 或 8 个?
  2. nativeOrder() 调用的目的是什么?
4

1 回答 1

1

浮点数由 32 位表示,等于 4 个字节。

对本机顺序的调用将缓冲区中的字节重新排列为本机系统的顺序,大端,小端等。

于 2012-09-26T22:36:12.750 回答