public TestRenderer() {
triangleDataBuffer = triangleData;
rectDataBuffer = rectData;
rectDataBuffer2 = rectData2;
pentacleColorBuffer = pentacle;
triangleColorBuffer = bufferUtil(triangleColor);
rectColorBuffer = bufferUtil(rectColor);
}
修改为
public TestRenderer() {
triangleDataBuffer = bufferUtil(triangleData);
rectDataBuffer = bufferUtil(rectData);
rectDataBuffer2 = bufferUtil(rectData2);
pentacleColorBuffer = bufferUtil(pentacle);
triangleColorBuffer = bufferUtil(triangleColor);
rectColorBuffer = bufferUtil(rectColor);
}
public IntBuffer bufferUtil(int[] arr) {
IntBuffer buffer;
ByteBuffer qbb = ByteBuffer.allocateDirect(arr.length * 4);
qbb.order(ByteOrder.nativeOrder());
buffer = qbb.asIntBuffer();
buffer.put(arr);
buffer.position(0);
return buffer;
}
public FloatBuffer bufferUtil(float[] arr) {
FloatBuffer buffer;
ByteBuffer qbb = ByteBuffer.allocateDirect(arr.length * 4);
qbb.order(ByteOrder.nativeOrder());
buffer = qbb.asFloatBuffer();
buffer.put(arr);
buffer.position(0);
return buffer;
}