Destrovi4 icon

GLPointerTest

Destrovi4 | PRO | 12/19/12 03:19:34 PM UTC | 0 ⭐ | 172 👁️ | Never ⏰ | []
Java |

1.44 KB

|

None

|

0 👍

/

0 👎

package destr.jogl.main;
 
import javax.media.opengl.GL;
import javax.media.opengl.GL2;
import javax.media.opengl.GLAutoDrawable;
 
import destr.jogl.buffer.GLColorPointerRGBA;
import destr.jogl.buffer.GLVertixPointerXYZ;
import destr.jogl.game2d.Game2DCanvas;
 
public class GLPointerTest extends Game2DCanvas{
    private static final long serialVersionUID = 5956392369871648818L;
    public GLPointerTest(int width, int height) {
        super(width, height);
    }
    
    private GLVertixPointerXYZ shape;
    private GLColorPointerRGBA color;
 
    @Override
    public void init(GLAutoDrawable drawable){
        super.init(drawable);
        GL gl = drawable.getGL();
 
        color = new GLColorPointerRGBA(gl, new float[]{
            1,0,0,1,
            0,1,0,1,
            0,0,1,1,
            1,1,0,1,
        });
 
        shape = new GLVertixPointerXYZ(gl, new float[]{
            0,0,0,
            1,0,0,
            1,1,0,
            0,1,0,
        });
    }
    
    @Override
    public void display(GLAutoDrawable drawable) {
        GL gl = drawable.getGL();
        GL2 gl2 = gl.getGL2();
        
        gl2.glClear(GL2.GL_COLOR_BUFFER_BIT);
        gl2.glLoadIdentity();
        gl2.glTranslatef(-1f, 1f, 0);
        gl2.glScalef(2.0f, -2.0f, 0f);
        
        gl2.glScalef(0.25f, 0.25f, 0);
        
        shape.bind(gl);
        color.bind(gl);
        
        gl2.glEnableClientState(GL2.GL_VERTEX_ARRAY);
        gl2.glEnableClientState(GL2.GL_COLOR_ARRAY);
        
        gl2.glDrawArrays(GL2.GL_QUADS, 0, 4);
        
        gl2.glDisableClientState(GL2.GL_VERTEX_ARRAY);
        gl2.glDisableClientState(GL2.GL_COLOR_ARRAY);
    }
 
}

Comments