OpenGL ESのエラーログ
XperiaでOpenGLを動かしてみたらエラーが出ていたので調べた。
E/OpenGLES( 351): Application (SDK target 0) called a GL11 Pointer method with an indirect Buffer.
indirect Bufferはダメだというのでdirect bufferにすればいいらしいが、エラーでも動いていたので何が悪いのかはわかりません。あとGL10のAPIしか使ってないのにGL11と言われるのがよく分からない。
public FloatBuffer getFloatBuffer(float[] buf){ ByteBuffer bb = ByteBuffer.allocateDirect(buf.length*Float.SIZE/Byte.SIZE); bb.order(ByteOrder.nativeOrder()); // これをやらないとおかしくなる FloatBuffer fb = bb.asFloatBuffer(); fb.put(buf); fb.position(0); return fb; }
以下のサイトを参考にさせていただきました
http://d.hatena.ne.jp/rudi/20100507/1273237749