【问题标题】:Java LWJGL: When I call "GL11.glEnd" the polygon disappears?Java LWJGL:当我调用“GL11.glEnd”时,多边形消失了?
【发布时间】:2012-01-21 02:18:07
【问题描述】:

当我调用“GL11.glEnd”时,多边形消失了。如果我把那一行“GL11.glEnd”去掉,它就会留在屏幕上,但是当我把它放进去时,我正在绘制的多边形就消失了。

package package01;

import org.lwjgl.opengl.GL11;

public class Graph {

    ...


void initGraph(){
    GL11.glClearColor(0.0f, 0.0f, 0.0f, 0.0f); 
    GL11.glClearDepth(1.0); 
    GL11.glClear(GL11.GL_COLOR_BUFFER_BIT | GL11.GL_DEPTH_BUFFER_BIT);
    GL11.glOrtho(-500, 500, -281, 281, -1, 1);
    GL11.glColor3f(0.8f, 0.8f, 1.0f);
    GL11.glBegin(GL11.GL_POLYGON);
        GL11.glVertex3f(-60, 110, 0);   
        GL11.glVertex3f(60, 110, 0);
        GL11.glVertex3f(120, 0, 0);
        GL11.glVertex3f(60, -110, 0);
        GL11.glVertex3f(-60, -110, 0);
        GL11.glVertex3f(-120, 0, 0);
    GL11.glEnd();
    GL11.glFlush();
}
}

如果有帮助的话,这里是第二类。

package package01;

...

public class DisplayScreen {
Graph g = new Graph();


void start(){
    try {
        Display.setDisplayMode(new DisplayMode(1000,562));
        Display.create();
        GL11.glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
        GL11.glClear(GL11.GL_COLOR_BUFFER_BIT | GL11.GL_DEPTH_BUFFER_BIT);

    } catch(LWJGLException e) {
        e.printStackTrace();

    }
    while(!Display.isCloseRequested()){

        Display.update();
        g.initGraph();
    }
    Display.destroy();
}


public static void main(String[] args){

    DisplayScreen ds = new DisplayScreen();
    ds.start();

    }
}

【问题讨论】:

  • 尝试交换 Display.update() 和 g.initGraph() 调用的顺序。
  • 尝试将Display.update()移动到g.initGraph();下方。 - 该死的你快速的 Mozeiko :)

标签: java opengl polygon lwjgl


【解决方案1】:

删除 GL11.glOrtho(-500, 500, -281, 281, -1, 1);来自 initGraph() 方法。

添加

glMatrixMode(GL11.GL_PROJECTION);
glLoadIdentity();
GL11.glOrtho(-500, 500, -281, 281, -1, 1);
glMatrixMode(GL11.GL_MODELVIEW);

在游戏循环之前。

update需要在initGraph之后调用 g.initGraph(); display.update();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-18
    • 1970-01-01
    • 2022-11-19
    • 2013-02-19
    • 2020-07-02
    • 2021-08-26
    相关资源
    最近更新 更多