2016-01-23 39 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绘制的内容取代了该颜色。如果你想在OpenGL渲染时设置背景色,我建议用glClearColorglClear这样做。

另外:该文件说:

红 - - 颜色值介于0 - 1

绿色 - - 颜色值介于0 - 1

蓝 - - 之间0颜色值 - 1

但是您提供的值超过了200。

相关问题