任何人都可以看到有什么问题吗? 我正试图加载一个QUAD形状的图像并将其显示在一个框架上。当我运行它时,没有任何东西可以显示,不论是四边形还是图像。Jogl - 图片不会加载到纹理映射程序上? (JAVA)
程序代码如下:
package firstAttempt;
import com.sun.opengl.util.texture.Texture;
import com.sun.opengl.util.texture.TextureIO;
import java.io.File;
import java.io.IOException;
import java.nio.IntBuffer;
import javax.media.opengl.GL;
import javax.media.opengl.GLAutoDrawable;
import javax.media.opengl.GLEventListener;
import javax.media.opengl.glu.GLU;
/**
* For now we will focus only two of the GLEventListeners init() and display().
*/
public class TextureGLEventListener implements GLEventListener {
/**
* Interface to the GLU library.
*/
private GLU glu;
Texture tex;
/**
* Take care of initialization here.
*/
public void init(GLAutoDrawable drawable) {
GL gl = drawable.getGL();
glu = new GLU();
//activate texture mapping for 2D
gl.glEnable(GL.GL_TEXTURE_2D);
try{
//load texture
tex = TextureIO.newTexture(new File("C://Users/encore/Desktop/DSC05255final.jpg"), true);
tex.bind();
}
catch(IOException ex){
System.err.println(ex);
}
gl.glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
gl.glViewport(0, 0, 900, 550);
gl.glMatrixMode(GL.GL_PROJECTION);
gl.glLoadIdentity();
glu.gluOrtho2D(0.0, 900.0, 0.0, 550.0);
}
/**
* Take care of drawing here.
*/
public void display(GLAutoDrawable drawable) {
GL gl = drawable.getGL();
gl.glBegin (GL.GL_QUADS);
gl.glTexCoord2d(0, 0);
gl.glVertex2d (-0.5, -0.5);
gl.glTexCoord2d(1, 0);
gl.glVertex2d (0.5, -0.5);
gl.glTexCoord2d(1, 1);
gl.glVertex2d (0.5, 0.5);
gl.glTexCoord2d(0, 1);
gl.glVertex2d (-0.5, 0.5);
gl.glEnd();
}
public void reshape(GLAutoDrawable drawable, int x, int y, int width,
int height) {
}
public void displayChanged(GLAutoDrawable drawable,
boolean modeChanged, boolean deviceChanged) {
}
}