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(); } }