package destr.jogl.game2d;
import java.nio.Buffer;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.nio.FloatBuffer;
import javax.media.opengl.GL;
import javax.media.opengl.GL2;
public abstract class Pointer implements GLBuffer {
protected Buffer buffer;
protected int glType;
protected int count;
protected int stride;
public Pointer(int stride, float[]data){
ByteBuffer buffer = ByteBuffer.allocateDirect(data.length * Float.SIZE);
buffer.order(ByteOrder.nativeOrder());
FloatBuffer fb = buffer.asFloatBuffer();
fb.put(data);
fb.position(0);
this.buffer = fb;
this.count = data.length / stride;
this.glType = GL2.GL_FLOAT;
this.stride = stride;
}
public void draw(GL gl){
gl.getGL2().glDrawArrays(GL2.GL_TRIANGLES, 0, this.count);
}
public void draw(GL gl, int mode, int first){
gl.getGL2().glDrawArrays(mode, first, this.count);
}
}
Comments