00001
00002
00003
00004
00005 package org.dronus.gl;
00006
00007
00008 import java.nio.FloatBuffer;
00009 import java.nio.IntBuffer;
00010
00011 import org.lwjgl.BufferUtils;
00012 import org.lwjgl.util.vector.Vector3f;
00013
00024 public class Buffers {
00025
00026
00027 static final IntBuffer INTBUFFER=BufferUtils.createIntBuffer(1);
00028 static final FloatBuffer MATRIXBUFFER=BufferUtils.createFloatBuffer(16);
00029 static final FloatBuffer VECTORBUFFER=BufferUtils.createFloatBuffer(4);
00030
00035 static public IntBuffer getIntBuffer(){
00036 INTBUFFER.clear();
00037 return INTBUFFER;
00038 }
00041 public static IntBuffer i(int i) {
00042 IntBuffer ib=getIntBuffer();
00043 ib.put(i); ib.flip();
00044 return ib;
00045 }
00050 static public FloatBuffer matrixBuffer(){
00051 MATRIXBUFFER.clear();
00052 return MATRIXBUFFER;
00053 }
00054
00059 static public FloatBuffer buffer(Vector3f v){
00060 VECTORBUFFER.clear();
00061 v.store(VECTORBUFFER);
00062 VECTORBUFFER.flip();
00063 return VECTORBUFFER;
00064 }
00065
00066
00067
00069 static public FloatBuffer floatArrayBuffer(float[] f){
00070 FloatBuffer fp=BufferUtils.createFloatBuffer(f.length).put(f);
00071 fp.flip();
00072 return fp;
00073 }
00075 static public FloatBuffer f4(float f1, float f2, float f3, float f4 ){return floatArrayBuffer(new float[]{f1,f2,f3,f4});}
00076
00077
00078 static float randomcolor=0;
00079 public static FloatBuffer randomDebugColor(){
00080 randomcolor+=1.0001f;
00081 return Buffers.f4(randomcolor%2, (randomcolor/2)%2, 1-(randomcolor%2), 1);
00082 }
00083 }