2016-01-23 2 views
0

Это мой код и на линии 10 я ставлю Display.setInitialBackground(200, 100, 56); однако он просто мигает на экранеПочему мой фоновый цвет не меняется на моем дисплее OpenGL?

import org.lwjgl.LWJGLException; 
import org.lwjgl.opengl.Display; 
import org.lwjgl.opengl.DisplayMode; 

public class Window { 

    public static void createWindow(int width, int height, String title) { 

     Display.setTitle(title); 
     Display.setInitialBackground(200, 100, 56); 

     try { 

      Display.setDisplayMode(new DisplayMode(width, height)); 
      Display.create(); 

     } catch (LWJGLException e) { 

      e.printStackTrace(); 

     } 

    } 

    public static void render() { 
     Display.update(); 
    } 

    public static boolean isCloseRequested() { 
     return Display.isCloseRequested(); 
    } 

    public static int getWidth() { 
     return Display.getWidth(); 
    } 

    public static int getHeight() { 
     return Display.getHeight(); 
    } 

    public static String getTitle() { 
     return Display.getTitle(); 
    } 

} 

Это является вторым классом у меня, однако без ошибок

public class Main { 

    public static final int WIDTH = 800; 
    public static final int HEIGHT = 600; 
    public static final String TITLE = "Virtual World"; 

    public Main() { 

    } 

    public void start() { 
     run(); 
    } 

    public void stop() { 

    } 

    public void run() { 

     while(!Window.isCloseRequested()) { 
      render(); 
     } 

    } 

    public void render() { 
     Window.render(); 
    } 

    public void cleanUp() { 

    } 

    public static void main(String[] args) { 

     Window.createWindow(WIDTH, HEIGHT, TITLE); 

     Main game = new Main(); 

     game.start(); 

    } 

} 

ответ

2

цвета, установленных setInitialBackground это только начальный цвет фона. В тот момент, когда начинается рендеринг OpenGL, этот цвет заменяется содержанием OpenGL draw. Если вы хотите установить цвет фона при рендеринге OpenGL, я предлагаю сделать это с помощью glClearColor и glClear.

Дополнительно: В документации сказано:

красный - - значение цвета между 0 - 1

зеленый - - цвет значения от 0 - 1

синий - - цвет значение между 0 - 1

Но вы указываете значение 200, которое находится за пределами допустимого диапазона.

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