首先发泄一下不满,Android应用开发揭秘这都什么烂书啊,讲又没讲清,又不给代码,要不是Android书太少,我也不会浪费钱去买机械工业出版社的书,里面一个纹理映射,给一串天书一样的代码,整了一下午时间~~~
解释一下纹理映射,就是往物体上贴图,android集成了OpenGL,以方便3D开发,如果大家对怎么进行纹理映射一头雾水,那可以看下下面的代码,也许有点用:
private FloatBuffer vertexBuffer = FloatBuffer.wrap(new float[]{
-ONE, -ONE, ONE,
ONE, -ONE, ONE,
-ONE, ONE, ONE,
ONE, ONE, ONE,
ONE, -ONE, ONE,
ONE, -ONE, -ONE,
ONE, ONE, ONE,
ONE, ONE, -ONE,
ONE, -ONE, -ONE,
-ONE, -ONE, -ONE,
ONE, ONE, -ONE,
-ONE, ONE, -ONE,
-ONE, -ONE, -ONE,
-ONE, -ONE, ONE,
-ONE, ONE, -ONE,
-ONE, ONE, ONE,
-ONE, -ONE, -ONE,
ONE, -ONE, -ONE,
-ONE, -ONE, ONE,
ONE, -ONE, ONE,
-ONE, ONE, ONE,
ONE, ONE, ONE,
-ONE, ONE, -ONE,
ONE, ONE, -ONE,
});
private FloatBuffer textureBuffer = FloatBuffer.wrap(new float[]{
ZERO, ZERO,
ZERO, ONE,
ONE, ZERO,
ONE, ONE,
ZERO, ONE,
ONE, ONE,
ZERO, ZERO,
ONE, ZERO,
ZERO, ZERO,
ZERO, ONE,
ONE, ZERO,
ONE, ONE,
ONE, ZERO,
ONE, ONE,
ZERO, ZERO,
ZERO, ONE,
ZERO, ONE,
ONE, ONE,
ZERO, ZERO,
ONE, ZERO,
ONE, ZERO,
ONE, ONE,
ZERO, ZERO,
ZERO, ONE,
});
这样写应该很明了吧,那本烂书上把第二个数组分6行,一行8个,谁能想到是这样的对应方法呢?
简而言之,两个数组每一行都是一个点,分别对应,画下图就清楚了,第一个是三维物体,第二个是二维贴图~~~