package destr.jogl.main;
import java.io.IOException;
import javax.media.opengl.GL;
import javax.media.opengl.GL2;
import javax.media.opengl.GLAutoDrawable;
import destr.jogl.buffer.GLTexture;
import destr.jogl.game2d.Game2DCanvas;
public class GLTextureTest extends Game2DCanvas {
private static final long serialVersionUID = 8150675879674601735L;
private GLTexture texture;
public GLTextureTest(int width, int height) {
super(width, height);
}
@Override
public void init(GLAutoDrawable drawable){
super.init(drawable);
try {
texture = GLTexture.loadClassPath(drawable.getGL(), "/jogl/util/data/av/test-ntsc01-160x90.png");
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public void display(GLAutoDrawable drawable) {
}
@Override
public void reshape(GLAutoDrawable drawable, int x, int y, int width, int height) {
super.reshape(drawable, x, y, width, height);
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);
if(texture != null) texture.bind(gl2);
gl2.glBegin(GL2.GL_QUADS);
gl2.glTexCoord2f(0, 0);
gl2.glVertex3f(0.0f, 0.0f, 0.0f);
gl2.glTexCoord2f(1, 0);
gl2.glVertex3f(1.0f, 0.0f, 0.0f);
gl2.glTexCoord2f(1, 1);
gl2.glVertex3f(1.0f, 1.0f, 0.0f);
gl2.glTexCoord2f(0, 1);
gl2.glVertex3f(0.0f, 1.0f, 0.0f);
gl2.glEnd();
}
}
Comments