读书人

android 3d 有关问题汇总1

发布时间: 2012-08-24 10:00:20 作者: rapoo

android 3d 问题汇总1
第一例子就遇到问题了!!

问题描述:

直接生成intBuffer:

int one = 0x10000;// 三角形的3个顶点private IntBuffer triggerBuffer = IntBuffer.wrap(new int[]{ 0, one, 0, // 上顶点-one, -one, 0, // 左下顶点one, -one, 0, }); // 右下顶点


结果就报错:
java.lang.IllegalArgumentException: Must use a native order direct Buffer


解决方案:
1、直接弄一个nativeorder
类似于这样的:
/正方体顶点缓存
  ByteBuffer qbb = ByteBuffer.allocateDirect(quater.length * 4);           qbb.order(ByteOrder.nativeOrder());           quaterBuffer = qbb.asIntBuffer();           quaterBuffer.put(quater);           quaterBuffer.position(0);                             //正方体颜色缓存            ByteBuffer quacbb = ByteBuffer.allocateDirect(quaColors.length * 4);            quacbb.order(ByteOrder.nativeOrder());            quaColorBuffer = quacbb.asIntBuffer();            quaColorBuffer.put(quaColors);            quaColorBuffer.position(0);

这样是可以的。

2、问题出现在sdk版本上

 <uses-sdk android:minSdkVersion="3" /> 

改成3就ok了。

读书人网 >Android

热点推荐