2017-01-20 29 views
0

完全白色我有一個主要包像這樣:窗口是在LWJGL

// Imports and package stuff 

public class Main { 
    public static void main(String[] args) { 
     // Initialisation code 

     long window = glfwCreateWindow(800, 600, "Hello World", 0, 0); 

     // Initialisation code 

     glfwShowWindow(window); 
     glfwMakeContextCurrent(window); 
     GL.createCapabilities(); 
     glClearColor(0, 0, 0, 1); 

     while (!glfwWindowShouldClose(window)) { 
      glfwPollEvents(); 
      glClear(GL_COLOR_BUFFER_BIT); 
      glBegin(GL_QUADS); 
       glColor4f(1, 0, 0, 1); 
       glVertex2f(0.5f, 0.5f); 
       glVertex2f(0.5f, -0.5f); 
       glVertex2f(-0.5f, -0.5f); 
       glVertex2f(-0.5f, 0.5f); 
      glEnd(); 
      glfwSwapBuffers(window); 
     } 

     glfwTerminate(); 
    } 
} 

(該//評論顯示省略代碼)。

我期望輸出「窗口」是一個黑色的窗口,中間有一個紅色的矩形,但我得到的是一個白色背景的窗口。

起初,我懷疑這是glClearColor線弄亂了(因爲它設置了默認的顏色被清除,也許這是白色的)。我試着編輯glClearColor這一行(我用alpha值和RGB一起撥弄),但它們都產生了相同的白色背景。

任何幫助表示讚賞!

+1

爲什麼downvote? –

回答

-1

所以,我試圖運行你的代碼,我在

glfwShowWindow(window); 

因此得到一個NullPointerException異常,可以嘗試在

if (!glfwInit()) { 
    System.err.println("GLFW Failed to initialize!"); 
    System.exit(1); 
} 

您創建的窗口前。這對我有效。希望這有助於!

+0

這是在初始化代碼(在註釋位)。我把它排除在外,因爲它不是問題的一部分。 –

+0

澄清,它不在上面的代碼片段中,但它在我的實際代碼中。這段代碼不是我的問題的一部分。 –

+0

通過刪除初始化,可以讓其他人更難以重現您的問題。儘量讓您的代碼片段爲SSCCE:http://sscce.org/ – mrjink