2016-05-14 7 views
1

私はLWJGLを使用してゲームを構築しています。LWJGLはGLFW_API_UNAVAILABLEエラーのウィンドウを作成しません

しかし、問題があります。 glfwCreateWindowを呼び出すと、LWJGLはエラーをスローし、ウィンドウを作成しません。それはドライバがOpenGLをサポートしていないと言う理由を私は知らない

[2016-05-14 22:42:04.665] [CubeSystem/INFO] Starting graphics engine... 
[LWJGL] GLFW_API_UNAVAILABLE error 
    Description : WGL: The driver does not appear to support OpenGL 
    Stacktrace : 
     org.lwjgl.glfw.GLFW.nglfwCreateWindow(GLFW.java:1168) 
     org.lwjgl.glfw.GLFW.glfwCreateWindow(GLFW.java:1251) 
     Tmk.MyAdventure.System.CubeSystem.Init(CubeSystem.java:37) 
     Tmk.MyAdventure.Main.main(Main.java:13) 
[2016-05-14 22:42:04.740] [CubeSystem/ERROR] Cannot create window. 

:ここ

が出力されます。

私のコンピュータはOpenGLゲームをうまく使います。また、ドライバーを最新のバージョンに更新しましたが、まだこのメッセージが表示されています。

IDEの外で実行すると同じメッセージが表示されます。

.... 

public class CubeSystem { 
    private static Logger l = new Logger("CubeSystem"); 

    private static final int DEFAULT_WIDTH = 640; 
    private static final int DEFAULT_HEIGHT = 480; 

    private long window; 

    public CubeSystem() { 
    } 

    public boolean Init() { 
     l.Info("Starting graphics engine..."); 
     //Configure error stream 
     GLFWErrorCallback.createPrint(System.err).set(); 
     if(glfwInit() != GL_TRUE) { 
      l.Err("Cannot initialize GLFW."); 
      return false; 
     } 
     //Configure window 
     glfwDefaultWindowHints(); 
     glfwWindowHint(GLFW_VISIBLE, GLFW_TRUE); 
     glfwWindowHint(GLFW_RESIZABLE, GLFW_TRUE); 
     window = glfwCreateWindow(DEFAULT_WIDTH, DEFAULT_HEIGHT, "My Adventure", NULL, NULL); 
     if(window == NULL) { 
      l.Err("Cannot create window."); 
      return false; 
     } 

     glfwDestroyWindow(window); 
     glfwTerminate(); 
     glfwSetErrorCallback(null).release(); 

     return true; 
    } 
} 

注:ここ

コードであるinit()メソッドで始まります。私はあなたが追加hints.Hereが欠けていると思う

+0

あなたは正しくLWJGLの原住民のリンクがありますか? – RecursiveExceptionException

+0

'WGL:ドライバはOpenGLをサポートしていないようです。 LWJGLのバグの場合は、別のバージョンを試すか、GLFWが好きではないコンピュータ – RecursiveExceptionException

答えて

0

は、私がGLFWを使用する方法である。(C++)

if (!glfwInit()) { 

     throw; 

    } 
    glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4);//using OpenGL 4.3 
    glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3); 
    glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_COMPAT_PROFILE); 
    glfwWindowHint(GLFW_SAMPLES, 8); 



#ifdef _DEBUG 

    glfwWindowHint(GLFW_OPENGL_DEBUG_CONTEXT, GL_TRUE); 

#else 
    glfwWindowHint(GLFW_OPENGL_DEBUG_CONTEXT, GL_FALSE); 

#endif 

    glfwWindowHint(GLFW_RED_BITS, 8); 
    glfwWindowHint(GLFW_GREEN_BITS, 8); 
    glfwWindowHint(GLFW_BLUE_BITS, 8); 
    glfwWindowHint(GLFW_ALPHA_BITS, 8); 
    glfwWindowHint(GLFW_DEPTH_BITS, 0); 
    glfwWindowHint(GLFW_STENCIL_BITS, 8); 
    _glfwWin = glfwCreateWindow(winW, winH, "Display", NULL, NULL); 
+0

追加のヒントを追加しようとしました。しかし働いていませんでした。また、1.1,1.5,1.2のような異なるOpenGLバージョンを試してみましたが、すべて動作しませんでした。 – Gippeumi

関連する問題