gpt4 book ai didi

java - Jogl - 图片无法加载到纹理映射程序上? (JAVA)

转载 作者:行者123 更新时间:2023-12-01 05:25:22 25 4
gpt4 key购买 nike

有人能看出哪里出了问题吗?我正在尝试在 QUAD 形状上加载图像并将其显示在框架上。当我运行它时,没有任何内容可显示,无论是四边形还是图像。

程序代码如下:

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) {
}


}

最佳答案

你不写

gl.glFlush();

创建四边形后(glEnd())。

关于java - Jogl - 图片无法加载到纹理映射程序上? (JAVA),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9743524/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com