Java(lwjgl)OpenGL清屏完全

时间:2015-10-04 21:13:54

标签: java opengl lwjgl

我想告诉OpenGL,它应该重置已经渲染到屏幕上的所有东西并开始,也就是说,从开始。我需要一种方法来做到这一点,而不会破坏显示器。

我已经尝试将整个openGL渲染引擎包装成循环但是重新启动循环似乎并不能解决问题,尽管从已经渲染的开始对象开始不会消失。

有没有办法告诉openGL它应该只重置整个渲染过程并从零开始?

这是我的主要课程:

static RenderClass engine = new RenderClass();  

    public static void main(String[] args)
    {           
        engine.setDisplayMode(1224, 720, "RenderExample");
        engine.RunOpenGL();
    }
}

这是在我的引擎类中,我称之为openGL方法:

public void RunOpenGL()
{
    camera(0,0,0, 0);

    while(master == true)
    {       
        if(Display.isCloseRequested())
            { master = false; }

        if(render == true)
        { OpenGLRenderMethods(); } // This will initate all OpenGL Rendering Mechanics

        Display.update();
    }
    Display.destroy();
    Keyboard.destroy();
    Mouse.destroy();
}

我认为当我设置render = false时它可能会起作用;然后将其设置为render = true;再次,所以引擎将重置所有openGL渲染机制。相反,它似乎只是重复自己,这意味着现在所呈现的所有内容仍然可见。

希望你能帮助我, 真诚的谢谢!

1 个答案:

答案 0 :(得分:0)

因此,如果其他人面临同样的问题,我就会找到解决方法:

如果您的模型可以被转换并且您想要摆脱它们,只需将它们的比例缩小到0,之前您必须将每个模型的属性保存在文本文件中并从那里生成它们。

现在,当你将每个设置为0时,你只需告诉引擎渲染具有文本文件中所述属性的对象。

如果要从文本文件中删除对象,则其比例将不会更新并保持为零,从而给人以删除对象的印象。

多数民众赞成我的解决方案,我希望它也会帮助别人! 亲切的问候!