小编Asc*_*has的帖子

按纵横比拉伸的 OpenGL 2D 投影

我目前正在尝试使用 JOGL 将 2D java 游戏的绘图方法转换为 OpenGL,因为本机 java 对于快速连续绘制高分辨率图像似乎相当慢。现在我想使用 16:9 的宽高比,但问题是我的图像被拉伸到两侧。目前我只绘制一个白色旋转四边形来测试这一点:

public void resize(GLAutoDrawable d, int width, int height) {

    GL2 gl = d.getGL().getGL2(); // get the OpenGL 2 graphics context
    gl.glViewport(0, 0, width, height);
    gl.glMatrixMode(GL2.GL_PROJECTION);
    gl.glOrtho(-1.0f, 1.0f, -1.0f, 1.0f, -1.0f, 1.0f);

}

public void display(GLAutoDrawable d) {

    GL2 gl = d.getGL().getGL2();  // get the OpenGL 2 graphics context
    gl.glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
    gl.glClear(GL.GL_COLOR_BUFFER_BIT);

    gl.glMatrixMode(GL2.GL_MODELVIEW);
    gl.glLoadIdentity();
    gl.glColor3f(1.0f,1.0f,1.0f);

    degree += 0.1f;

    gl.glRotatef(degree, 0.0f, 0.0f, 1.0f);

    gl.glBegin(GL2.GL_QUADS);
    gl.glVertex2f(-0.25f, 0.25f);
    gl.glVertex2f(0.25f, 0.25f);
    gl.glVertex2f(0.25f, …
Run Code Online (Sandbox Code Playgroud)

java opengl jogl orthographic opengl-compat

2
推荐指数
1
解决办法
1775
查看次数

标签 统计

java ×1

jogl ×1

opengl ×1

opengl-compat ×1

orthographic ×1