我想告诉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渲染机制。相反,它似乎只是重复自己,这意味着现在所呈现的所有内容仍然可见。
希望你能帮助我, 真诚的谢谢!
答案 0 :(得分:0)
因此,如果其他人面临同样的问题,我就会找到解决方法:
如果您的模型可以被转换并且您想要摆脱它们,只需将它们的比例缩小到0,之前您必须将每个模型的属性保存在文本文件中并从那里生成它们。
现在,当你将每个设置为0时,你只需告诉引擎渲染具有文本文件中所述属性的对象。
如果要从文本文件中删除对象,则其比例将不会更新并保持为零,从而给人以删除对象的印象。
多数民众赞成我的解决方案,我希望它也会帮助别人! 亲切的问候!