2015-10-04 3 views
-1

Я хочу сказать OpenGL в какой-то момент, что он должен сбросить все, что было отображено на экране, и начать, так сказать, с самого начала. Мне нужен способ сделать это, не разрушая дисплей.Java (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 = true; снова, поэтому двигатель сбрасывает все механизмы рендеринга openGL. Вместо этого он просто повторяется, а это означает, что все, что было сделано на данный момент, все еще видно.

Надеюсь, вы можете мне помочь, Искреннее спасибо!

+1

Вы ищете [glClear] (https://www.opengl.org/sdk/docs/man/html/glClear.xhtml)? – BDL

+0

Нет, это ничего не делает .. Я нашел способ обойти это, хотя .. теперь я столкнулся с другими проблемами .. – DisasterCoder

ответ

0

Так что если кто-то сталкивается с той же проблемой, вот как я нашел путь вокруг него:

Если ваши модели могут быть преобразованы, и вы хотите, чтобы избавиться от них просто уменьшить их масштаб до 0, до того, что вы придется сохранять свойства каждой модели в текстовом файле и генерировать их оттуда.

Теперь, когда вы устанавливаете значение 0, вы просто указываете движку визуализировать объекты со свойствами, указанными в текстовом файле.

Если вы хотите удалить объект из текстового файла, его масштаб не будет обновлен и останется на нуле, что затем создаст впечатление удаления объекта.

Это мое решение, я надеюсь, что это поможет кому-то еще! С уважением!

Смежные вопросы