2017-01-26 7 views
1

を使用することができないことの一部は次のとおりです。のOpenGL:私はFedoraの25 にGLFW + GLEWを使用してプログラムを構築しようとした正しいバージョン

int main() 
{ 
    glfwInit(); 
    glfwWindowHint(GLFW_OPENGL_PROFILE,GLFW_OPENGL_ANY_PROFILE); 
    //glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR,3); 
    //glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR,3); 
    mainWindow = glfwCreateWindow(1024,768,"NONE",nullptr,nullptr); 
    if(mainWindow == nullptr) 
    { 
     std::cout<<"Creating window ERROR.\n"<<std::endl; 
     glfwTerminate(); 
     return 1; 
    } 
    ..... 
} 

私はバージョン3.3を取得するためにglfwWindowHint(GLFW_OPENGL_PROFILE,GLFW_OPENGL_CORE_PROFILE);を使用している場合は、ウィンドウを作成することはできません。

私のハードウェアは、OpenGL 4.1をサポートしています。

UPD:答え....そこglfwWindowHint(GLFW_CONTEXT_VERSION_*,*)

+0

メサの場合、コアプロファイルを要求している必要があります。そうしないと、OpenGL 3.0がインストールされます。これはmacOSの動作に似ています。順互換性ビットを気にしないでください。これは時代遅れであり、実際には何もしません。私は 'glxinfo | grep version'を使用して、既知の適切なプログラムが目的のバージョンのコンテキストを作成できることを確認します。コアプロファイルのバージョン文字列を見てください。 –

答えて

1

だけのコメントを解除しました。
glfwWindowHint(GLFW_OPENGL_PROFILE,GLFW_OPENGL_CORE_PROFILE)とコアプロファイルを使用している間に、
明示的なバージョンを要求する必要があります。

Dietrich Eppのコメントに感謝します。

ところで、誰も私にそのような情報を得る方法を教えてもらえますか?